{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Importing PulP solver\n",
    "from pulp import *"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Inputing the Demand points\n",
    "demand_points=['Port of Salalah', 'Port of Gaza','Port of Jebel Ali']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['Port of Salalah', 'Port of Gaza', 'Port of Jebel Ali']"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "demand_points"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Inputing the Supply Points\n",
    "supply_points=['Port of Buenos Aires','Port of Newcastle','Port of Hedland','Port of Baku','Port of Mina Salman','Port of Ploce','Port of Santos','Port of Douala','Port of Montreal','Port of Vancouver','Port of Shanghai','Port of Alexandria','Port of Marseille','Port of Hamburg_Germany','Port of Tema','Port of Piraeus','Port of Budapest','Port of Reykjavik','Port of Jawaharlal Nehru','Port of Tanjung Priok','Port of Bandar Abbas','Port of Gioia Tauro','Port of Nagoya','Port of Aktau','Penang Port','Port of Manzanillo','Port of Belgrade','Port of Maputo','Port of Rotterdam','Port of Tauranga','Port of Lagos','Port of Oslo','Port of Salalah','Port of Gdansk','Port of Doha','Port of Constanta','Port of Vladivostok','Port of Novorossiysk','Port of St. Petersburg','Port of Bratislava','Port of Koper','Port of Durban','Port of Algeciras','Port of Gothenburg','Port of Basel','Port of Riga','Port of Mersin','Port of Odessa','Port of Jebel Ali','Port of Immingham','Port of New York','Port of Los Angeles','Port of Puerto Cabello']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['Port of Buenos Aires',\n",
       " 'Port of Newcastle',\n",
       " 'Port of Hedland',\n",
       " 'Port of Baku',\n",
       " 'Port of Mina Salman',\n",
       " 'Port of Ploce',\n",
       " 'Port of Santos',\n",
       " 'Port of Douala',\n",
       " 'Port of Montreal',\n",
       " 'Port of Vancouver',\n",
       " 'Port of Shanghai',\n",
       " 'Port of Alexandria',\n",
       " 'Port of Marseille',\n",
       " 'Port of Hamburg_Germany',\n",
       " 'Port of Tema',\n",
       " 'Port of Piraeus',\n",
       " 'Port of Budapest',\n",
       " 'Port of Reykjavik',\n",
       " 'Port of Jawaharlal Nehru',\n",
       " 'Port of Tanjung Priok',\n",
       " 'Port of Bandar Abbas',\n",
       " 'Port of Gioia Tauro',\n",
       " 'Port of Nagoya',\n",
       " 'Port of Aktau',\n",
       " 'Penang Port',\n",
       " 'Port of Manzanillo',\n",
       " 'Port of Belgrade',\n",
       " 'Port of Maputo',\n",
       " 'Port of Rotterdam',\n",
       " 'Port of Tauranga',\n",
       " 'Port of Lagos',\n",
       " 'Port of Oslo',\n",
       " 'Port of Salalah',\n",
       " 'Port of Gdansk',\n",
       " 'Port of Doha',\n",
       " 'Port of Constanta',\n",
       " 'Port of Vladivostok',\n",
       " 'Port of Novorossiysk',\n",
       " 'Port of St. Petersburg',\n",
       " 'Port of Bratislava',\n",
       " 'Port of Koper',\n",
       " 'Port of Durban',\n",
       " 'Port of Algeciras',\n",
       " 'Port of Gothenburg',\n",
       " 'Port of Basel',\n",
       " 'Port of Riga',\n",
       " 'Port of Mersin',\n",
       " 'Port of Odessa',\n",
       " 'Port of Jebel Ali',\n",
       " 'Port of Immingham',\n",
       " 'Port of New York',\n",
       " 'Port of Los Angeles',\n",
       " 'Port of Puerto Cabello']"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "supply_points"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Inputing the distances\n",
    "distance = dict(zip(supply_points,[dict(zip(demand_points, [8169,7282,9168])),\n",
    "dict(zip(demand_points, [7936,9192,8290])),\n",
    "dict(zip(demand_points, [5424,6801,5779])),\n",
    "dict(zip(demand_points, [4443,2600,5390])),\n",
    "dict(zip(demand_points, [1253,3178,327])),\n",
    "dict(zip(demand_points, [3585,1183,4584])),\n",
    "dict(zip(demand_points, [8408,6360,9407])),\n",
    "dict(zip(demand_points, [7018,5413,8017])),\n",
    "dict(zip(demand_points, [8471,5165,9470])),\n",
    "dict(zip(demand_points, [10461,10365,10440])),\n",
    "dict(zip(demand_points, [6270,7660,6627])),\n",
    "dict(zip(demand_points, [2397,242,3396])),\n",
    "dict(zip(demand_points, [4081,1631,5080])),\n",
    "dict(zip(demand_points, [6307,3595.7,7306])),\n",
    "dict(zip(demand_points, [7409,4842,8408])),\n",
    "dict(zip(demand_points, [2981,658,3980])),\n",
    "dict(zip(demand_points, [4362,1992,5360])),\n",
    "dict(zip(demand_points, [6666,3892,7697])),\n",
    "dict(zip(demand_points, [1143,3243,1335])),\n",
    "dict(zip(demand_points, [4050,5814,4405])),\n",
    "dict(zip(demand_points, [943,2922,173])),\n",
    "dict(zip(demand_points, [3367,1336,4366])),\n",
    "dict(zip(demand_points, [7148,8308,7505])),\n",
    "dict(zip(demand_points, [4147,2301,5094])),\n",
    "dict(zip(demand_points, [3245,5210,3601])),\n",
    "dict(zip(demand_points, [11791,8088,12790])),\n",
    "dict(zip(demand_points, [4163,1950,5162])),\n",
    "dict(zip(demand_points, [9144,7237,4308])),\n",
    "dict(zip(demand_points, [6030,3335,7029])),\n",
    "dict(zip(demand_points, [9144,10251,9498])),\n",
    "dict(zip(demand_points, [7317,5500,8316])),\n",
    "dict(zip(demand_points, [6675,3831,7673])),\n",
    "dict(zip(demand_points, [0,2086,999])),\n",
    "dict(zip(demand_points, [7025,4119,8025])),\n",
    "dict(zip(demand_points, [1186,3139,187])),\n",
    "dict(zip(demand_points, [3501,1029,4499])),\n",
    "dict(zip(demand_points, [7370,8522,7727])),\n",
    "dict(zip(demand_points, [3886,1295,4885])),\n",
    "dict(zip(demand_points, [7533,4545,8532])),\n",
    "dict(zip(demand_points, [4464,2243,5463])),\n",
    "dict(zip(demand_points, [3803,1364,7366])),\n",
    "dict(zip(demand_points, [3571,7346,4572])),\n",
    "dict(zip(demand_points, [4378,2004,5377])),\n",
    "dict(zip(demand_points, [6418,3775.72,7573])),\n",
    "dict(zip(demand_points, [5720,3662,6667])),\n",
    "dict(zip(demand_points, [7270,4325,8269])),\n",
    "dict(zip(demand_points, [2577,316,3576])),\n",
    "dict(zip(demand_points, [3704,1181,4703])),\n",
    "dict(zip(demand_points, [999,2975,0])),\n",
    "dict(zip(demand_points, [6081,3399,7080])),\n",
    "dict(zip(demand_points, [7930,5196,8918])),\n",
    "dict(zip(demand_points, [11137,9280,11116])),\n",
    "dict(zip(demand_points, [9073,5715,10116]))]))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'Port of Buenos Aires': {'Port of Salalah': 8169,\n",
       "  'Port of Gaza': 7282,\n",
       "  'Port of Jebel Ali': 9168},\n",
       " 'Port of Newcastle': {'Port of Salalah': 7936,\n",
       "  'Port of Gaza': 9192,\n",
       "  'Port of Jebel Ali': 8290},\n",
       " 'Port of Hedland': {'Port of Salalah': 5424,\n",
       "  'Port of Gaza': 6801,\n",
       "  'Port of Jebel Ali': 5779},\n",
       " 'Port of Baku': {'Port of Salalah': 4443,\n",
       "  'Port of Gaza': 2600,\n",
       "  'Port of Jebel Ali': 5390},\n",
       " 'Port of Mina Salman': {'Port of Salalah': 1253,\n",
       "  'Port of Gaza': 3178,\n",
       "  'Port of Jebel Ali': 327},\n",
       " 'Port of Ploce': {'Port of Salalah': 3585,\n",
       "  'Port of Gaza': 1183,\n",
       "  'Port of Jebel Ali': 4584},\n",
       " 'Port of Santos': {'Port of Salalah': 8408,\n",
       "  'Port of Gaza': 6360,\n",
       "  'Port of Jebel Ali': 9407},\n",
       " 'Port of Douala': {'Port of Salalah': 7018,\n",
       "  'Port of Gaza': 5413,\n",
       "  'Port of Jebel Ali': 8017},\n",
       " 'Port of Montreal': {'Port of Salalah': 8471,\n",
       "  'Port of Gaza': 5165,\n",
       "  'Port of Jebel Ali': 9470},\n",
       " 'Port of Vancouver': {'Port of Salalah': 10461,\n",
       "  'Port of Gaza': 10365,\n",
       "  'Port of Jebel Ali': 10440},\n",
       " 'Port of Shanghai': {'Port of Salalah': 6270,\n",
       "  'Port of Gaza': 7660,\n",
       "  'Port of Jebel Ali': 6627},\n",
       " 'Port of Alexandria': {'Port of Salalah': 2397,\n",
       "  'Port of Gaza': 242,\n",
       "  'Port of Jebel Ali': 3396},\n",
       " 'Port of Marseille': {'Port of Salalah': 4081,\n",
       "  'Port of Gaza': 1631,\n",
       "  'Port of Jebel Ali': 5080},\n",
       " 'Port of Hamburg_Germany': {'Port of Salalah': 6307,\n",
       "  'Port of Gaza': 3595.7,\n",
       "  'Port of Jebel Ali': 7306},\n",
       " 'Port of Tema': {'Port of Salalah': 7409,\n",
       "  'Port of Gaza': 4842,\n",
       "  'Port of Jebel Ali': 8408},\n",
       " 'Port of Piraeus': {'Port of Salalah': 2981,\n",
       "  'Port of Gaza': 658,\n",
       "  'Port of Jebel Ali': 3980},\n",
       " 'Port of Budapest': {'Port of Salalah': 4362,\n",
       "  'Port of Gaza': 1992,\n",
       "  'Port of Jebel Ali': 5360},\n",
       " 'Port of Reykjavik': {'Port of Salalah': 6666,\n",
       "  'Port of Gaza': 3892,\n",
       "  'Port of Jebel Ali': 7697},\n",
       " 'Port of Jawaharlal Nehru': {'Port of Salalah': 1143,\n",
       "  'Port of Gaza': 3243,\n",
       "  'Port of Jebel Ali': 1335},\n",
       " 'Port of Tanjung Priok': {'Port of Salalah': 4050,\n",
       "  'Port of Gaza': 5814,\n",
       "  'Port of Jebel Ali': 4405},\n",
       " 'Port of Bandar Abbas': {'Port of Salalah': 943,\n",
       "  'Port of Gaza': 2922,\n",
       "  'Port of Jebel Ali': 173},\n",
       " 'Port of Gioia Tauro': {'Port of Salalah': 3367,\n",
       "  'Port of Gaza': 1336,\n",
       "  'Port of Jebel Ali': 4366},\n",
       " 'Port of Nagoya': {'Port of Salalah': 7148,\n",
       "  'Port of Gaza': 8308,\n",
       "  'Port of Jebel Ali': 7505},\n",
       " 'Port of Aktau': {'Port of Salalah': 4147,\n",
       "  'Port of Gaza': 2301,\n",
       "  'Port of Jebel Ali': 5094},\n",
       " 'Penang Port': {'Port of Salalah': 3245,\n",
       "  'Port of Gaza': 5210,\n",
       "  'Port of Jebel Ali': 3601},\n",
       " 'Port of Manzanillo': {'Port of Salalah': 11791,\n",
       "  'Port of Gaza': 8088,\n",
       "  'Port of Jebel Ali': 12790},\n",
       " 'Port of Belgrade': {'Port of Salalah': 4163,\n",
       "  'Port of Gaza': 1950,\n",
       "  'Port of Jebel Ali': 5162},\n",
       " 'Port of Maputo': {'Port of Salalah': 9144,\n",
       "  'Port of Gaza': 7237,\n",
       "  'Port of Jebel Ali': 4308},\n",
       " 'Port of Rotterdam': {'Port of Salalah': 6030,\n",
       "  'Port of Gaza': 3335,\n",
       "  'Port of Jebel Ali': 7029},\n",
       " 'Port of Tauranga': {'Port of Salalah': 9144,\n",
       "  'Port of Gaza': 10251,\n",
       "  'Port of Jebel Ali': 9498},\n",
       " 'Port of Lagos': {'Port of Salalah': 7317,\n",
       "  'Port of Gaza': 5500,\n",
       "  'Port of Jebel Ali': 8316},\n",
       " 'Port of Oslo': {'Port of Salalah': 6675,\n",
       "  'Port of Gaza': 3831,\n",
       "  'Port of Jebel Ali': 7673},\n",
       " 'Port of Salalah': {'Port of Salalah': 0,\n",
       "  'Port of Gaza': 2086,\n",
       "  'Port of Jebel Ali': 999},\n",
       " 'Port of Gdansk': {'Port of Salalah': 7025,\n",
       "  'Port of Gaza': 4119,\n",
       "  'Port of Jebel Ali': 8025},\n",
       " 'Port of Doha': {'Port of Salalah': 1186,\n",
       "  'Port of Gaza': 3139,\n",
       "  'Port of Jebel Ali': 187},\n",
       " 'Port of Constanta': {'Port of Salalah': 3501,\n",
       "  'Port of Gaza': 1029,\n",
       "  'Port of Jebel Ali': 4499},\n",
       " 'Port of Vladivostok': {'Port of Salalah': 7370,\n",
       "  'Port of Gaza': 8522,\n",
       "  'Port of Jebel Ali': 7727},\n",
       " 'Port of Novorossiysk': {'Port of Salalah': 3886,\n",
       "  'Port of Gaza': 1295,\n",
       "  'Port of Jebel Ali': 4885},\n",
       " 'Port of St. Petersburg': {'Port of Salalah': 7533,\n",
       "  'Port of Gaza': 4545,\n",
       "  'Port of Jebel Ali': 8532},\n",
       " 'Port of Bratislava': {'Port of Salalah': 4464,\n",
       "  'Port of Gaza': 2243,\n",
       "  'Port of Jebel Ali': 5463},\n",
       " 'Port of Koper': {'Port of Salalah': 3803,\n",
       "  'Port of Gaza': 1364,\n",
       "  'Port of Jebel Ali': 7366},\n",
       " 'Port of Durban': {'Port of Salalah': 3571,\n",
       "  'Port of Gaza': 7346,\n",
       "  'Port of Jebel Ali': 4572},\n",
       " 'Port of Algeciras': {'Port of Salalah': 4378,\n",
       "  'Port of Gaza': 2004,\n",
       "  'Port of Jebel Ali': 5377},\n",
       " 'Port of Gothenburg': {'Port of Salalah': 6418,\n",
       "  'Port of Gaza': 3775.72,\n",
       "  'Port of Jebel Ali': 7573},\n",
       " 'Port of Basel': {'Port of Salalah': 5720,\n",
       "  'Port of Gaza': 3662,\n",
       "  'Port of Jebel Ali': 6667},\n",
       " 'Port of Riga': {'Port of Salalah': 7270,\n",
       "  'Port of Gaza': 4325,\n",
       "  'Port of Jebel Ali': 8269},\n",
       " 'Port of Mersin': {'Port of Salalah': 2577,\n",
       "  'Port of Gaza': 316,\n",
       "  'Port of Jebel Ali': 3576},\n",
       " 'Port of Odessa': {'Port of Salalah': 3704,\n",
       "  'Port of Gaza': 1181,\n",
       "  'Port of Jebel Ali': 4703},\n",
       " 'Port of Jebel Ali': {'Port of Salalah': 999,\n",
       "  'Port of Gaza': 2975,\n",
       "  'Port of Jebel Ali': 0},\n",
       " 'Port of Immingham': {'Port of Salalah': 6081,\n",
       "  'Port of Gaza': 3399,\n",
       "  'Port of Jebel Ali': 7080},\n",
       " 'Port of New York': {'Port of Salalah': 7930,\n",
       "  'Port of Gaza': 5196,\n",
       "  'Port of Jebel Ali': 8918},\n",
       " 'Port of Los Angeles': {'Port of Salalah': 11137,\n",
       "  'Port of Gaza': 9280,\n",
       "  'Port of Jebel Ali': 11116},\n",
       " 'Port of Puerto Cabello': {'Port of Salalah': 9073,\n",
       "  'Port of Gaza': 5715,\n",
       "  'Port of Jebel Ali': 10116}}"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "distance"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Inputing the Aluminium Demand\n",
    "aluminium_demand=dict(zip(demand_points, [198391784.8,182085151.2,210893155.9]))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'Port of Salalah': 198391784.8,\n",
       " 'Port of Gaza': 182085151.2,\n",
       " 'Port of Jebel Ali': 210893155.9}"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "aluminium_demand"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Inputing the Aluminium Supply\n",
    "aluminium_supply=dict(zip(supply_points, [1750418.373,1108486.991,5259760.632,152870.6086,5846232.525,583785.2387,2405044.613,286578.9516,7130120.719,2122464.834,267850261.2,1178963.884,2903970.469,2541200.847,159171.9705,662387.6583,7691376.454,56655403.55,5188197.412,137744624.1,1888157.9,28443.63952,724801.9126,1052630.169,1883968.768,110143.3931,380422.1379,8080791.105,964428.5326,1312543.345,71076.45981,5162036.898,1900360.293,148867.4242,2820733.861,1017712.828,7634624.871,3723801.549,3766639.035,1121081.872,351723.7786,2886609.143,1384623.344,533795.8943,105019.7955,5143227.069,237073.6777,299230.0617,26856798.65,0,\n",
    "0,0,557404.5143])) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'Port of Buenos Aires': 1750418.373,\n",
       " 'Port of Newcastle': 1108486.991,\n",
       " 'Port of Hedland': 5259760.632,\n",
       " 'Port of Baku': 152870.6086,\n",
       " 'Port of Mina Salman': 5846232.525,\n",
       " 'Port of Ploce': 583785.2387,\n",
       " 'Port of Santos': 2405044.613,\n",
       " 'Port of Douala': 286578.9516,\n",
       " 'Port of Montreal': 7130120.719,\n",
       " 'Port of Vancouver': 2122464.834,\n",
       " 'Port of Shanghai': 267850261.2,\n",
       " 'Port of Alexandria': 1178963.884,\n",
       " 'Port of Marseille': 2903970.469,\n",
       " 'Port of Hamburg_Germany': 2541200.847,\n",
       " 'Port of Tema': 159171.9705,\n",
       " 'Port of Piraeus': 662387.6583,\n",
       " 'Port of Budapest': 7691376.454,\n",
       " 'Port of Reykjavik': 56655403.55,\n",
       " 'Port of Jawaharlal Nehru': 5188197.412,\n",
       " 'Port of Tanjung Priok': 137744624.1,\n",
       " 'Port of Bandar Abbas': 1888157.9,\n",
       " 'Port of Gioia Tauro': 28443.63952,\n",
       " 'Port of Nagoya': 724801.9126,\n",
       " 'Port of Aktau': 1052630.169,\n",
       " 'Penang Port': 1883968.768,\n",
       " 'Port of Manzanillo': 110143.3931,\n",
       " 'Port of Belgrade': 380422.1379,\n",
       " 'Port of Maputo': 8080791.105,\n",
       " 'Port of Rotterdam': 964428.5326,\n",
       " 'Port of Tauranga': 1312543.345,\n",
       " 'Port of Lagos': 71076.45981,\n",
       " 'Port of Oslo': 5162036.898,\n",
       " 'Port of Salalah': 1900360.293,\n",
       " 'Port of Gdansk': 148867.4242,\n",
       " 'Port of Doha': 2820733.861,\n",
       " 'Port of Constanta': 1017712.828,\n",
       " 'Port of Vladivostok': 7634624.871,\n",
       " 'Port of Novorossiysk': 3723801.549,\n",
       " 'Port of St. Petersburg': 3766639.035,\n",
       " 'Port of Bratislava': 1121081.872,\n",
       " 'Port of Koper': 351723.7786,\n",
       " 'Port of Durban': 2886609.143,\n",
       " 'Port of Algeciras': 1384623.344,\n",
       " 'Port of Gothenburg': 533795.8943,\n",
       " 'Port of Basel': 105019.7955,\n",
       " 'Port of Riga': 5143227.069,\n",
       " 'Port of Mersin': 237073.6777,\n",
       " 'Port of Odessa': 299230.0617,\n",
       " 'Port of Jebel Ali': 26856798.65,\n",
       " 'Port of Immingham': 0,\n",
       " 'Port of New York': 0,\n",
       " 'Port of Los Angeles': 0,\n",
       " 'Port of Puerto Cabello': 557404.5143}"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "aluminium_supply"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Set Problem Variables\n",
    "prob = LpProblem(\"Transportation\", LpMinimize)\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Transportation:\n",
       "MINIMIZE\n",
       "None\n",
       "VARIABLES"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "prob"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Set Problem Variables\n",
    "routes = [(i,j) for i in supply_points for j in demand_points]\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[('Port of Buenos Aires', 'Port of Salalah'),\n",
       " ('Port of Buenos Aires', 'Port of Gaza'),\n",
       " ('Port of Buenos Aires', 'Port of Jebel Ali'),\n",
       " ('Port of Newcastle', 'Port of Salalah'),\n",
       " ('Port of Newcastle', 'Port of Gaza'),\n",
       " ('Port of Newcastle', 'Port of Jebel Ali'),\n",
       " ('Port of Hedland', 'Port of Salalah'),\n",
       " ('Port of Hedland', 'Port of Gaza'),\n",
       " ('Port of Hedland', 'Port of Jebel Ali'),\n",
       " ('Port of Baku', 'Port of Salalah'),\n",
       " ('Port of Baku', 'Port of Gaza'),\n",
       " ('Port of Baku', 'Port of Jebel Ali'),\n",
       " ('Port of Mina Salman', 'Port of Salalah'),\n",
       " ('Port of Mina Salman', 'Port of Gaza'),\n",
       " ('Port of Mina Salman', 'Port of Jebel Ali'),\n",
       " ('Port of Ploce', 'Port of Salalah'),\n",
       " ('Port of Ploce', 'Port of Gaza'),\n",
       " ('Port of Ploce', 'Port of Jebel Ali'),\n",
       " ('Port of Santos', 'Port of Salalah'),\n",
       " ('Port of Santos', 'Port of Gaza'),\n",
       " ('Port of Santos', 'Port of Jebel Ali'),\n",
       " ('Port of Douala', 'Port of Salalah'),\n",
       " ('Port of Douala', 'Port of Gaza'),\n",
       " ('Port of Douala', 'Port of Jebel Ali'),\n",
       " ('Port of Montreal', 'Port of Salalah'),\n",
       " ('Port of Montreal', 'Port of Gaza'),\n",
       " ('Port of Montreal', 'Port of Jebel Ali'),\n",
       " ('Port of Vancouver', 'Port of Salalah'),\n",
       " ('Port of Vancouver', 'Port of Gaza'),\n",
       " ('Port of Vancouver', 'Port of Jebel Ali'),\n",
       " ('Port of Shanghai', 'Port of Salalah'),\n",
       " ('Port of Shanghai', 'Port of Gaza'),\n",
       " ('Port of Shanghai', 'Port of Jebel Ali'),\n",
       " ('Port of Alexandria', 'Port of Salalah'),\n",
       " ('Port of Alexandria', 'Port of Gaza'),\n",
       " ('Port of Alexandria', 'Port of Jebel Ali'),\n",
       " ('Port of Marseille', 'Port of Salalah'),\n",
       " ('Port of Marseille', 'Port of Gaza'),\n",
       " ('Port of Marseille', 'Port of Jebel Ali'),\n",
       " ('Port of Hamburg_Germany', 'Port of Salalah'),\n",
       " ('Port of Hamburg_Germany', 'Port of Gaza'),\n",
       " ('Port of Hamburg_Germany', 'Port of Jebel Ali'),\n",
       " ('Port of Tema', 'Port of Salalah'),\n",
       " ('Port of Tema', 'Port of Gaza'),\n",
       " ('Port of Tema', 'Port of Jebel Ali'),\n",
       " ('Port of Piraeus', 'Port of Salalah'),\n",
       " ('Port of Piraeus', 'Port of Gaza'),\n",
       " ('Port of Piraeus', 'Port of Jebel Ali'),\n",
       " ('Port of Budapest', 'Port of Salalah'),\n",
       " ('Port of Budapest', 'Port of Gaza'),\n",
       " ('Port of Budapest', 'Port of Jebel Ali'),\n",
       " ('Port of Reykjavik', 'Port of Salalah'),\n",
       " ('Port of Reykjavik', 'Port of Gaza'),\n",
       " ('Port of Reykjavik', 'Port of Jebel Ali'),\n",
       " ('Port of Jawaharlal Nehru', 'Port of Salalah'),\n",
       " ('Port of Jawaharlal Nehru', 'Port of Gaza'),\n",
       " ('Port of Jawaharlal Nehru', 'Port of Jebel Ali'),\n",
       " ('Port of Tanjung Priok', 'Port of Salalah'),\n",
       " ('Port of Tanjung Priok', 'Port of Gaza'),\n",
       " ('Port of Tanjung Priok', 'Port of Jebel Ali'),\n",
       " ('Port of Bandar Abbas', 'Port of Salalah'),\n",
       " ('Port of Bandar Abbas', 'Port of Gaza'),\n",
       " ('Port of Bandar Abbas', 'Port of Jebel Ali'),\n",
       " ('Port of Gioia Tauro', 'Port of Salalah'),\n",
       " ('Port of Gioia Tauro', 'Port of Gaza'),\n",
       " ('Port of Gioia Tauro', 'Port of Jebel Ali'),\n",
       " ('Port of Nagoya', 'Port of Salalah'),\n",
       " ('Port of Nagoya', 'Port of Gaza'),\n",
       " ('Port of Nagoya', 'Port of Jebel Ali'),\n",
       " ('Port of Aktau', 'Port of Salalah'),\n",
       " ('Port of Aktau', 'Port of Gaza'),\n",
       " ('Port of Aktau', 'Port of Jebel Ali'),\n",
       " ('Penang Port', 'Port of Salalah'),\n",
       " ('Penang Port', 'Port of Gaza'),\n",
       " ('Penang Port', 'Port of Jebel Ali'),\n",
       " ('Port of Manzanillo', 'Port of Salalah'),\n",
       " ('Port of Manzanillo', 'Port of Gaza'),\n",
       " ('Port of Manzanillo', 'Port of Jebel Ali'),\n",
       " ('Port of Belgrade', 'Port of Salalah'),\n",
       " ('Port of Belgrade', 'Port of Gaza'),\n",
       " ('Port of Belgrade', 'Port of Jebel Ali'),\n",
       " ('Port of Maputo', 'Port of Salalah'),\n",
       " ('Port of Maputo', 'Port of Gaza'),\n",
       " ('Port of Maputo', 'Port of Jebel Ali'),\n",
       " ('Port of Rotterdam', 'Port of Salalah'),\n",
       " ('Port of Rotterdam', 'Port of Gaza'),\n",
       " ('Port of Rotterdam', 'Port of Jebel Ali'),\n",
       " ('Port of Tauranga', 'Port of Salalah'),\n",
       " ('Port of Tauranga', 'Port of Gaza'),\n",
       " ('Port of Tauranga', 'Port of Jebel Ali'),\n",
       " ('Port of Lagos', 'Port of Salalah'),\n",
       " ('Port of Lagos', 'Port of Gaza'),\n",
       " ('Port of Lagos', 'Port of Jebel Ali'),\n",
       " ('Port of Oslo', 'Port of Salalah'),\n",
       " ('Port of Oslo', 'Port of Gaza'),\n",
       " ('Port of Oslo', 'Port of Jebel Ali'),\n",
       " ('Port of Salalah', 'Port of Salalah'),\n",
       " ('Port of Salalah', 'Port of Gaza'),\n",
       " ('Port of Salalah', 'Port of Jebel Ali'),\n",
       " ('Port of Gdansk', 'Port of Salalah'),\n",
       " ('Port of Gdansk', 'Port of Gaza'),\n",
       " ('Port of Gdansk', 'Port of Jebel Ali'),\n",
       " ('Port of Doha', 'Port of Salalah'),\n",
       " ('Port of Doha', 'Port of Gaza'),\n",
       " ('Port of Doha', 'Port of Jebel Ali'),\n",
       " ('Port of Constanta', 'Port of Salalah'),\n",
       " ('Port of Constanta', 'Port of Gaza'),\n",
       " ('Port of Constanta', 'Port of Jebel Ali'),\n",
       " ('Port of Vladivostok', 'Port of Salalah'),\n",
       " ('Port of Vladivostok', 'Port of Gaza'),\n",
       " ('Port of Vladivostok', 'Port of Jebel Ali'),\n",
       " ('Port of Novorossiysk', 'Port of Salalah'),\n",
       " ('Port of Novorossiysk', 'Port of Gaza'),\n",
       " ('Port of Novorossiysk', 'Port of Jebel Ali'),\n",
       " ('Port of St. Petersburg', 'Port of Salalah'),\n",
       " ('Port of St. Petersburg', 'Port of Gaza'),\n",
       " ('Port of St. Petersburg', 'Port of Jebel Ali'),\n",
       " ('Port of Bratislava', 'Port of Salalah'),\n",
       " ('Port of Bratislava', 'Port of Gaza'),\n",
       " ('Port of Bratislava', 'Port of Jebel Ali'),\n",
       " ('Port of Koper', 'Port of Salalah'),\n",
       " ('Port of Koper', 'Port of Gaza'),\n",
       " ('Port of Koper', 'Port of Jebel Ali'),\n",
       " ('Port of Durban', 'Port of Salalah'),\n",
       " ('Port of Durban', 'Port of Gaza'),\n",
       " ('Port of Durban', 'Port of Jebel Ali'),\n",
       " ('Port of Algeciras', 'Port of Salalah'),\n",
       " ('Port of Algeciras', 'Port of Gaza'),\n",
       " ('Port of Algeciras', 'Port of Jebel Ali'),\n",
       " ('Port of Gothenburg', 'Port of Salalah'),\n",
       " ('Port of Gothenburg', 'Port of Gaza'),\n",
       " ('Port of Gothenburg', 'Port of Jebel Ali'),\n",
       " ('Port of Basel', 'Port of Salalah'),\n",
       " ('Port of Basel', 'Port of Gaza'),\n",
       " ('Port of Basel', 'Port of Jebel Ali'),\n",
       " ('Port of Riga', 'Port of Salalah'),\n",
       " ('Port of Riga', 'Port of Gaza'),\n",
       " ('Port of Riga', 'Port of Jebel Ali'),\n",
       " ('Port of Mersin', 'Port of Salalah'),\n",
       " ('Port of Mersin', 'Port of Gaza'),\n",
       " ('Port of Mersin', 'Port of Jebel Ali'),\n",
       " ('Port of Odessa', 'Port of Salalah'),\n",
       " ('Port of Odessa', 'Port of Gaza'),\n",
       " ('Port of Odessa', 'Port of Jebel Ali'),\n",
       " ('Port of Jebel Ali', 'Port of Salalah'),\n",
       " ('Port of Jebel Ali', 'Port of Gaza'),\n",
       " ('Port of Jebel Ali', 'Port of Jebel Ali'),\n",
       " ('Port of Immingham', 'Port of Salalah'),\n",
       " ('Port of Immingham', 'Port of Gaza'),\n",
       " ('Port of Immingham', 'Port of Jebel Ali'),\n",
       " ('Port of New York', 'Port of Salalah'),\n",
       " ('Port of New York', 'Port of Gaza'),\n",
       " ('Port of New York', 'Port of Jebel Ali'),\n",
       " ('Port of Los Angeles', 'Port of Salalah'),\n",
       " ('Port of Los Angeles', 'Port of Gaza'),\n",
       " ('Port of Los Angeles', 'Port of Jebel Ali'),\n",
       " ('Port of Puerto Cabello', 'Port of Salalah'),\n",
       " ('Port of Puerto Cabello', 'Port of Gaza'),\n",
       " ('Port of Puerto Cabello', 'Port of Jebel Ali')]"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "routes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Decision Variables\n",
    "X = LpVariable.dicts(\"ShipmentAmount\",(supply_points, demand_points),0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'Port of Buenos Aires': {'Port of Salalah': ShipmentAmount_Port_of_Buenos_Aires_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Buenos_Aires_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Buenos_Aires_Port_of_Jebel_Ali},\n",
       " 'Port of Newcastle': {'Port of Salalah': ShipmentAmount_Port_of_Newcastle_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Newcastle_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Newcastle_Port_of_Jebel_Ali},\n",
       " 'Port of Hedland': {'Port of Salalah': ShipmentAmount_Port_of_Hedland_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Hedland_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Hedland_Port_of_Jebel_Ali},\n",
       " 'Port of Baku': {'Port of Salalah': ShipmentAmount_Port_of_Baku_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Baku_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Baku_Port_of_Jebel_Ali},\n",
       " 'Port of Mina Salman': {'Port of Salalah': ShipmentAmount_Port_of_Mina_Salman_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Mina_Salman_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Mina_Salman_Port_of_Jebel_Ali},\n",
       " 'Port of Ploce': {'Port of Salalah': ShipmentAmount_Port_of_Ploce_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Ploce_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Ploce_Port_of_Jebel_Ali},\n",
       " 'Port of Santos': {'Port of Salalah': ShipmentAmount_Port_of_Santos_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Santos_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Santos_Port_of_Jebel_Ali},\n",
       " 'Port of Douala': {'Port of Salalah': ShipmentAmount_Port_of_Douala_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Douala_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Douala_Port_of_Jebel_Ali},\n",
       " 'Port of Montreal': {'Port of Salalah': ShipmentAmount_Port_of_Montreal_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Montreal_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Montreal_Port_of_Jebel_Ali},\n",
       " 'Port of Vancouver': {'Port of Salalah': ShipmentAmount_Port_of_Vancouver_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Vancouver_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Vancouver_Port_of_Jebel_Ali},\n",
       " 'Port of Shanghai': {'Port of Salalah': ShipmentAmount_Port_of_Shanghai_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Shanghai_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Shanghai_Port_of_Jebel_Ali},\n",
       " 'Port of Alexandria': {'Port of Salalah': ShipmentAmount_Port_of_Alexandria_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Alexandria_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Alexandria_Port_of_Jebel_Ali},\n",
       " 'Port of Marseille': {'Port of Salalah': ShipmentAmount_Port_of_Marseille_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Marseille_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Marseille_Port_of_Jebel_Ali},\n",
       " 'Port of Hamburg_Germany': {'Port of Salalah': ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Jebel_Ali},\n",
       " 'Port of Tema': {'Port of Salalah': ShipmentAmount_Port_of_Tema_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Tema_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Tema_Port_of_Jebel_Ali},\n",
       " 'Port of Piraeus': {'Port of Salalah': ShipmentAmount_Port_of_Piraeus_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Piraeus_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Piraeus_Port_of_Jebel_Ali},\n",
       " 'Port of Budapest': {'Port of Salalah': ShipmentAmount_Port_of_Budapest_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Budapest_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Budapest_Port_of_Jebel_Ali},\n",
       " 'Port of Reykjavik': {'Port of Salalah': ShipmentAmount_Port_of_Reykjavik_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Reykjavik_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Reykjavik_Port_of_Jebel_Ali},\n",
       " 'Port of Jawaharlal Nehru': {'Port of Salalah': ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Jebel_Ali},\n",
       " 'Port of Tanjung Priok': {'Port of Salalah': ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Jebel_Ali},\n",
       " 'Port of Bandar Abbas': {'Port of Salalah': ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Jebel_Ali},\n",
       " 'Port of Gioia Tauro': {'Port of Salalah': ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Jebel_Ali},\n",
       " 'Port of Nagoya': {'Port of Salalah': ShipmentAmount_Port_of_Nagoya_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Nagoya_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Nagoya_Port_of_Jebel_Ali},\n",
       " 'Port of Aktau': {'Port of Salalah': ShipmentAmount_Port_of_Aktau_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Aktau_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Aktau_Port_of_Jebel_Ali},\n",
       " 'Penang Port': {'Port of Salalah': ShipmentAmount_Penang_Port_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Penang_Port_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Penang_Port_Port_of_Jebel_Ali},\n",
       " 'Port of Manzanillo': {'Port of Salalah': ShipmentAmount_Port_of_Manzanillo_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Manzanillo_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Manzanillo_Port_of_Jebel_Ali},\n",
       " 'Port of Belgrade': {'Port of Salalah': ShipmentAmount_Port_of_Belgrade_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Belgrade_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Belgrade_Port_of_Jebel_Ali},\n",
       " 'Port of Maputo': {'Port of Salalah': ShipmentAmount_Port_of_Maputo_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Maputo_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Maputo_Port_of_Jebel_Ali},\n",
       " 'Port of Rotterdam': {'Port of Salalah': ShipmentAmount_Port_of_Rotterdam_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Rotterdam_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Rotterdam_Port_of_Jebel_Ali},\n",
       " 'Port of Tauranga': {'Port of Salalah': ShipmentAmount_Port_of_Tauranga_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Tauranga_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Tauranga_Port_of_Jebel_Ali},\n",
       " 'Port of Lagos': {'Port of Salalah': ShipmentAmount_Port_of_Lagos_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Lagos_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Lagos_Port_of_Jebel_Ali},\n",
       " 'Port of Oslo': {'Port of Salalah': ShipmentAmount_Port_of_Oslo_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Oslo_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Oslo_Port_of_Jebel_Ali},\n",
       " 'Port of Salalah': {'Port of Salalah': ShipmentAmount_Port_of_Salalah_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Salalah_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Salalah_Port_of_Jebel_Ali},\n",
       " 'Port of Gdansk': {'Port of Salalah': ShipmentAmount_Port_of_Gdansk_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Gdansk_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Gdansk_Port_of_Jebel_Ali},\n",
       " 'Port of Doha': {'Port of Salalah': ShipmentAmount_Port_of_Doha_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Doha_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Doha_Port_of_Jebel_Ali},\n",
       " 'Port of Constanta': {'Port of Salalah': ShipmentAmount_Port_of_Constanta_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Constanta_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Constanta_Port_of_Jebel_Ali},\n",
       " 'Port of Vladivostok': {'Port of Salalah': ShipmentAmount_Port_of_Vladivostok_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Vladivostok_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Vladivostok_Port_of_Jebel_Ali},\n",
       " 'Port of Novorossiysk': {'Port of Salalah': ShipmentAmount_Port_of_Novorossiysk_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Novorossiysk_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Novorossiysk_Port_of_Jebel_Ali},\n",
       " 'Port of St. Petersburg': {'Port of Salalah': ShipmentAmount_Port_of_St._Petersburg_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_St._Petersburg_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_St._Petersburg_Port_of_Jebel_Ali},\n",
       " 'Port of Bratislava': {'Port of Salalah': ShipmentAmount_Port_of_Bratislava_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Bratislava_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Bratislava_Port_of_Jebel_Ali},\n",
       " 'Port of Koper': {'Port of Salalah': ShipmentAmount_Port_of_Koper_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Koper_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Koper_Port_of_Jebel_Ali},\n",
       " 'Port of Durban': {'Port of Salalah': ShipmentAmount_Port_of_Durban_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Durban_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Durban_Port_of_Jebel_Ali},\n",
       " 'Port of Algeciras': {'Port of Salalah': ShipmentAmount_Port_of_Algeciras_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Algeciras_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Algeciras_Port_of_Jebel_Ali},\n",
       " 'Port of Gothenburg': {'Port of Salalah': ShipmentAmount_Port_of_Gothenburg_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Gothenburg_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Gothenburg_Port_of_Jebel_Ali},\n",
       " 'Port of Basel': {'Port of Salalah': ShipmentAmount_Port_of_Basel_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Basel_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Basel_Port_of_Jebel_Ali},\n",
       " 'Port of Riga': {'Port of Salalah': ShipmentAmount_Port_of_Riga_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Riga_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Riga_Port_of_Jebel_Ali},\n",
       " 'Port of Mersin': {'Port of Salalah': ShipmentAmount_Port_of_Mersin_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Mersin_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Mersin_Port_of_Jebel_Ali},\n",
       " 'Port of Odessa': {'Port of Salalah': ShipmentAmount_Port_of_Odessa_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Odessa_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Odessa_Port_of_Jebel_Ali},\n",
       " 'Port of Jebel Ali': {'Port of Salalah': ShipmentAmount_Port_of_Jebel_Ali_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Jebel_Ali_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Jebel_Ali_Port_of_Jebel_Ali},\n",
       " 'Port of Immingham': {'Port of Salalah': ShipmentAmount_Port_of_Immingham_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Immingham_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Immingham_Port_of_Jebel_Ali},\n",
       " 'Port of New York': {'Port of Salalah': ShipmentAmount_Port_of_New_York_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_New_York_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_New_York_Port_of_Jebel_Ali},\n",
       " 'Port of Los Angeles': {'Port of Salalah': ShipmentAmount_Port_of_Los_Angeles_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Los_Angeles_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Los_Angeles_Port_of_Jebel_Ali},\n",
       " 'Port of Puerto Cabello': {'Port of Salalah': ShipmentAmount_Port_of_Puerto_Cabello_Port_of_Salalah,\n",
       "  'Port of Gaza': ShipmentAmount_Port_of_Puerto_Cabello_Port_of_Gaza,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Puerto_Cabello_Port_of_Jebel_Ali}}"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Objective Function\n",
    "prob += sum(X[i][j]*distance[i][j] for (i,j) in routes)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Transportation:\n",
       "MINIMIZE\n",
       "5210*ShipmentAmount_Penang_Port_Port_of_Gaza + 3601*ShipmentAmount_Penang_Port_Port_of_Jebel_Ali + 3245*ShipmentAmount_Penang_Port_Port_of_Salalah + 2301*ShipmentAmount_Port_of_Aktau_Port_of_Gaza + 5094*ShipmentAmount_Port_of_Aktau_Port_of_Jebel_Ali + 4147*ShipmentAmount_Port_of_Aktau_Port_of_Salalah + 242*ShipmentAmount_Port_of_Alexandria_Port_of_Gaza + 3396*ShipmentAmount_Port_of_Alexandria_Port_of_Jebel_Ali + 2397*ShipmentAmount_Port_of_Alexandria_Port_of_Salalah + 2004*ShipmentAmount_Port_of_Algeciras_Port_of_Gaza + 5377*ShipmentAmount_Port_of_Algeciras_Port_of_Jebel_Ali + 4378*ShipmentAmount_Port_of_Algeciras_Port_of_Salalah + 2600*ShipmentAmount_Port_of_Baku_Port_of_Gaza + 5390*ShipmentAmount_Port_of_Baku_Port_of_Jebel_Ali + 4443*ShipmentAmount_Port_of_Baku_Port_of_Salalah + 2922*ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Gaza + 173*ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Jebel_Ali + 943*ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Salalah + 3662*ShipmentAmount_Port_of_Basel_Port_of_Gaza + 6667*ShipmentAmount_Port_of_Basel_Port_of_Jebel_Ali + 5720*ShipmentAmount_Port_of_Basel_Port_of_Salalah + 1950*ShipmentAmount_Port_of_Belgrade_Port_of_Gaza + 5162*ShipmentAmount_Port_of_Belgrade_Port_of_Jebel_Ali + 4163*ShipmentAmount_Port_of_Belgrade_Port_of_Salalah + 2243*ShipmentAmount_Port_of_Bratislava_Port_of_Gaza + 5463*ShipmentAmount_Port_of_Bratislava_Port_of_Jebel_Ali + 4464*ShipmentAmount_Port_of_Bratislava_Port_of_Salalah + 1992*ShipmentAmount_Port_of_Budapest_Port_of_Gaza + 5360*ShipmentAmount_Port_of_Budapest_Port_of_Jebel_Ali + 4362*ShipmentAmount_Port_of_Budapest_Port_of_Salalah + 7282*ShipmentAmount_Port_of_Buenos_Aires_Port_of_Gaza + 9168*ShipmentAmount_Port_of_Buenos_Aires_Port_of_Jebel_Ali + 8169*ShipmentAmount_Port_of_Buenos_Aires_Port_of_Salalah + 1029*ShipmentAmount_Port_of_Constanta_Port_of_Gaza + 4499*ShipmentAmount_Port_of_Constanta_Port_of_Jebel_Ali + 3501*ShipmentAmount_Port_of_Constanta_Port_of_Salalah + 3139*ShipmentAmount_Port_of_Doha_Port_of_Gaza + 187*ShipmentAmount_Port_of_Doha_Port_of_Jebel_Ali + 1186*ShipmentAmount_Port_of_Doha_Port_of_Salalah + 5413*ShipmentAmount_Port_of_Douala_Port_of_Gaza + 8017*ShipmentAmount_Port_of_Douala_Port_of_Jebel_Ali + 7018*ShipmentAmount_Port_of_Douala_Port_of_Salalah + 7346*ShipmentAmount_Port_of_Durban_Port_of_Gaza + 4572*ShipmentAmount_Port_of_Durban_Port_of_Jebel_Ali + 3571*ShipmentAmount_Port_of_Durban_Port_of_Salalah + 4119*ShipmentAmount_Port_of_Gdansk_Port_of_Gaza + 8025*ShipmentAmount_Port_of_Gdansk_Port_of_Jebel_Ali + 7025*ShipmentAmount_Port_of_Gdansk_Port_of_Salalah + 1336*ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Gaza + 4366*ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Jebel_Ali + 3367*ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Salalah + 3775.72*ShipmentAmount_Port_of_Gothenburg_Port_of_Gaza + 7573*ShipmentAmount_Port_of_Gothenburg_Port_of_Jebel_Ali + 6418*ShipmentAmount_Port_of_Gothenburg_Port_of_Salalah + 3595.7*ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Gaza + 7306*ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Jebel_Ali + 6307*ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Salalah + 6801*ShipmentAmount_Port_of_Hedland_Port_of_Gaza + 5779*ShipmentAmount_Port_of_Hedland_Port_of_Jebel_Ali + 5424*ShipmentAmount_Port_of_Hedland_Port_of_Salalah + 3399*ShipmentAmount_Port_of_Immingham_Port_of_Gaza + 7080*ShipmentAmount_Port_of_Immingham_Port_of_Jebel_Ali + 6081*ShipmentAmount_Port_of_Immingham_Port_of_Salalah + 3243*ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Gaza + 1335*ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Jebel_Ali + 1143*ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Salalah + 2975*ShipmentAmount_Port_of_Jebel_Ali_Port_of_Gaza + 999*ShipmentAmount_Port_of_Jebel_Ali_Port_of_Salalah + 1364*ShipmentAmount_Port_of_Koper_Port_of_Gaza + 7366*ShipmentAmount_Port_of_Koper_Port_of_Jebel_Ali + 3803*ShipmentAmount_Port_of_Koper_Port_of_Salalah + 5500*ShipmentAmount_Port_of_Lagos_Port_of_Gaza + 8316*ShipmentAmount_Port_of_Lagos_Port_of_Jebel_Ali + 7317*ShipmentAmount_Port_of_Lagos_Port_of_Salalah + 9280*ShipmentAmount_Port_of_Los_Angeles_Port_of_Gaza + 11116*ShipmentAmount_Port_of_Los_Angeles_Port_of_Jebel_Ali + 11137*ShipmentAmount_Port_of_Los_Angeles_Port_of_Salalah + 8088*ShipmentAmount_Port_of_Manzanillo_Port_of_Gaza + 12790*ShipmentAmount_Port_of_Manzanillo_Port_of_Jebel_Ali + 11791*ShipmentAmount_Port_of_Manzanillo_Port_of_Salalah + 7237*ShipmentAmount_Port_of_Maputo_Port_of_Gaza + 4308*ShipmentAmount_Port_of_Maputo_Port_of_Jebel_Ali + 9144*ShipmentAmount_Port_of_Maputo_Port_of_Salalah + 1631*ShipmentAmount_Port_of_Marseille_Port_of_Gaza + 5080*ShipmentAmount_Port_of_Marseille_Port_of_Jebel_Ali + 4081*ShipmentAmount_Port_of_Marseille_Port_of_Salalah + 316*ShipmentAmount_Port_of_Mersin_Port_of_Gaza + 3576*ShipmentAmount_Port_of_Mersin_Port_of_Jebel_Ali + 2577*ShipmentAmount_Port_of_Mersin_Port_of_Salalah + 3178*ShipmentAmount_Port_of_Mina_Salman_Port_of_Gaza + 327*ShipmentAmount_Port_of_Mina_Salman_Port_of_Jebel_Ali + 1253*ShipmentAmount_Port_of_Mina_Salman_Port_of_Salalah + 5165*ShipmentAmount_Port_of_Montreal_Port_of_Gaza + 9470*ShipmentAmount_Port_of_Montreal_Port_of_Jebel_Ali + 8471*ShipmentAmount_Port_of_Montreal_Port_of_Salalah + 8308*ShipmentAmount_Port_of_Nagoya_Port_of_Gaza + 7505*ShipmentAmount_Port_of_Nagoya_Port_of_Jebel_Ali + 7148*ShipmentAmount_Port_of_Nagoya_Port_of_Salalah + 5196*ShipmentAmount_Port_of_New_York_Port_of_Gaza + 8918*ShipmentAmount_Port_of_New_York_Port_of_Jebel_Ali + 7930*ShipmentAmount_Port_of_New_York_Port_of_Salalah + 9192*ShipmentAmount_Port_of_Newcastle_Port_of_Gaza + 8290*ShipmentAmount_Port_of_Newcastle_Port_of_Jebel_Ali + 7936*ShipmentAmount_Port_of_Newcastle_Port_of_Salalah + 1295*ShipmentAmount_Port_of_Novorossiysk_Port_of_Gaza + 4885*ShipmentAmount_Port_of_Novorossiysk_Port_of_Jebel_Ali + 3886*ShipmentAmount_Port_of_Novorossiysk_Port_of_Salalah + 1181*ShipmentAmount_Port_of_Odessa_Port_of_Gaza + 4703*ShipmentAmount_Port_of_Odessa_Port_of_Jebel_Ali + 3704*ShipmentAmount_Port_of_Odessa_Port_of_Salalah + 3831*ShipmentAmount_Port_of_Oslo_Port_of_Gaza + 7673*ShipmentAmount_Port_of_Oslo_Port_of_Jebel_Ali + 6675*ShipmentAmount_Port_of_Oslo_Port_of_Salalah + 658*ShipmentAmount_Port_of_Piraeus_Port_of_Gaza + 3980*ShipmentAmount_Port_of_Piraeus_Port_of_Jebel_Ali + 2981*ShipmentAmount_Port_of_Piraeus_Port_of_Salalah + 1183*ShipmentAmount_Port_of_Ploce_Port_of_Gaza + 4584*ShipmentAmount_Port_of_Ploce_Port_of_Jebel_Ali + 3585*ShipmentAmount_Port_of_Ploce_Port_of_Salalah + 5715*ShipmentAmount_Port_of_Puerto_Cabello_Port_of_Gaza + 10116*ShipmentAmount_Port_of_Puerto_Cabello_Port_of_Jebel_Ali + 9073*ShipmentAmount_Port_of_Puerto_Cabello_Port_of_Salalah + 3892*ShipmentAmount_Port_of_Reykjavik_Port_of_Gaza + 7697*ShipmentAmount_Port_of_Reykjavik_Port_of_Jebel_Ali + 6666*ShipmentAmount_Port_of_Reykjavik_Port_of_Salalah + 4325*ShipmentAmount_Port_of_Riga_Port_of_Gaza + 8269*ShipmentAmount_Port_of_Riga_Port_of_Jebel_Ali + 7270*ShipmentAmount_Port_of_Riga_Port_of_Salalah + 3335*ShipmentAmount_Port_of_Rotterdam_Port_of_Gaza + 7029*ShipmentAmount_Port_of_Rotterdam_Port_of_Jebel_Ali + 6030*ShipmentAmount_Port_of_Rotterdam_Port_of_Salalah + 2086*ShipmentAmount_Port_of_Salalah_Port_of_Gaza + 999*ShipmentAmount_Port_of_Salalah_Port_of_Jebel_Ali + 6360*ShipmentAmount_Port_of_Santos_Port_of_Gaza + 9407*ShipmentAmount_Port_of_Santos_Port_of_Jebel_Ali + 8408*ShipmentAmount_Port_of_Santos_Port_of_Salalah + 7660*ShipmentAmount_Port_of_Shanghai_Port_of_Gaza + 6627*ShipmentAmount_Port_of_Shanghai_Port_of_Jebel_Ali + 6270*ShipmentAmount_Port_of_Shanghai_Port_of_Salalah + 4545*ShipmentAmount_Port_of_St._Petersburg_Port_of_Gaza + 8532*ShipmentAmount_Port_of_St._Petersburg_Port_of_Jebel_Ali + 7533*ShipmentAmount_Port_of_St._Petersburg_Port_of_Salalah + 5814*ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Gaza + 4405*ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Jebel_Ali + 4050*ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Salalah + 10251*ShipmentAmount_Port_of_Tauranga_Port_of_Gaza + 9498*ShipmentAmount_Port_of_Tauranga_Port_of_Jebel_Ali + 9144*ShipmentAmount_Port_of_Tauranga_Port_of_Salalah + 4842*ShipmentAmount_Port_of_Tema_Port_of_Gaza + 8408*ShipmentAmount_Port_of_Tema_Port_of_Jebel_Ali + 7409*ShipmentAmount_Port_of_Tema_Port_of_Salalah + 10365*ShipmentAmount_Port_of_Vancouver_Port_of_Gaza + 10440*ShipmentAmount_Port_of_Vancouver_Port_of_Jebel_Ali + 10461*ShipmentAmount_Port_of_Vancouver_Port_of_Salalah + 8522*ShipmentAmount_Port_of_Vladivostok_Port_of_Gaza + 7727*ShipmentAmount_Port_of_Vladivostok_Port_of_Jebel_Ali + 7370*ShipmentAmount_Port_of_Vladivostok_Port_of_Salalah + 0.0\n",
       "VARIABLES\n",
       "ShipmentAmount_Penang_Port_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Penang_Port_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Penang_Port_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Aktau_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Aktau_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Aktau_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Alexandria_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Alexandria_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Alexandria_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Algeciras_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Algeciras_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Algeciras_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Baku_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Baku_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Baku_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Basel_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Basel_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Basel_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Belgrade_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Belgrade_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Belgrade_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Bratislava_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Bratislava_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Bratislava_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Budapest_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Budapest_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Budapest_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Buenos_Aires_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Buenos_Aires_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Buenos_Aires_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Constanta_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Constanta_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Constanta_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Doha_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Doha_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Doha_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Douala_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Douala_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Douala_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Durban_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Durban_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Durban_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Gdansk_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Gdansk_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Gdansk_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Gothenburg_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Gothenburg_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Gothenburg_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Hedland_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Hedland_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Hedland_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Immingham_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Immingham_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Immingham_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Jebel_Ali_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Jebel_Ali_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Koper_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Koper_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Koper_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Lagos_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Lagos_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Lagos_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Los_Angeles_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Los_Angeles_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Los_Angeles_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Manzanillo_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Manzanillo_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Manzanillo_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Maputo_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Maputo_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Maputo_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Marseille_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Marseille_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Marseille_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Mersin_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Mersin_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Mersin_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Mina_Salman_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Mina_Salman_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Mina_Salman_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Montreal_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Montreal_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Montreal_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Nagoya_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Nagoya_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Nagoya_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_New_York_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_New_York_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_New_York_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Newcastle_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Newcastle_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Newcastle_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Novorossiysk_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Novorossiysk_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Novorossiysk_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Odessa_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Odessa_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Odessa_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Oslo_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Oslo_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Oslo_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Piraeus_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Piraeus_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Piraeus_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Ploce_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Ploce_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Ploce_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Puerto_Cabello_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Puerto_Cabello_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Puerto_Cabello_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Reykjavik_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Reykjavik_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Reykjavik_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Riga_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Riga_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Riga_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Rotterdam_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Rotterdam_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Rotterdam_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Salalah_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Salalah_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Santos_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Santos_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Santos_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Shanghai_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Shanghai_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Shanghai_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_St._Petersburg_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_St._Petersburg_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_St._Petersburg_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Tauranga_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Tauranga_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Tauranga_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Tema_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Tema_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Tema_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Vancouver_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Vancouver_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Vancouver_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Vladivostok_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Vladivostok_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Vladivostok_Port_of_Salalah Continuous"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "prob"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Transportation:\n",
       "MINIMIZE\n",
       "5210*ShipmentAmount_Penang_Port_Port_of_Gaza + 3601*ShipmentAmount_Penang_Port_Port_of_Jebel_Ali + 3245*ShipmentAmount_Penang_Port_Port_of_Salalah + 2301*ShipmentAmount_Port_of_Aktau_Port_of_Gaza + 5094*ShipmentAmount_Port_of_Aktau_Port_of_Jebel_Ali + 4147*ShipmentAmount_Port_of_Aktau_Port_of_Salalah + 242*ShipmentAmount_Port_of_Alexandria_Port_of_Gaza + 3396*ShipmentAmount_Port_of_Alexandria_Port_of_Jebel_Ali + 2397*ShipmentAmount_Port_of_Alexandria_Port_of_Salalah + 2004*ShipmentAmount_Port_of_Algeciras_Port_of_Gaza + 5377*ShipmentAmount_Port_of_Algeciras_Port_of_Jebel_Ali + 4378*ShipmentAmount_Port_of_Algeciras_Port_of_Salalah + 2600*ShipmentAmount_Port_of_Baku_Port_of_Gaza + 5390*ShipmentAmount_Port_of_Baku_Port_of_Jebel_Ali + 4443*ShipmentAmount_Port_of_Baku_Port_of_Salalah + 2922*ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Gaza + 173*ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Jebel_Ali + 943*ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Salalah + 3662*ShipmentAmount_Port_of_Basel_Port_of_Gaza + 6667*ShipmentAmount_Port_of_Basel_Port_of_Jebel_Ali + 5720*ShipmentAmount_Port_of_Basel_Port_of_Salalah + 1950*ShipmentAmount_Port_of_Belgrade_Port_of_Gaza + 5162*ShipmentAmount_Port_of_Belgrade_Port_of_Jebel_Ali + 4163*ShipmentAmount_Port_of_Belgrade_Port_of_Salalah + 2243*ShipmentAmount_Port_of_Bratislava_Port_of_Gaza + 5463*ShipmentAmount_Port_of_Bratislava_Port_of_Jebel_Ali + 4464*ShipmentAmount_Port_of_Bratislava_Port_of_Salalah + 1992*ShipmentAmount_Port_of_Budapest_Port_of_Gaza + 5360*ShipmentAmount_Port_of_Budapest_Port_of_Jebel_Ali + 4362*ShipmentAmount_Port_of_Budapest_Port_of_Salalah + 7282*ShipmentAmount_Port_of_Buenos_Aires_Port_of_Gaza + 9168*ShipmentAmount_Port_of_Buenos_Aires_Port_of_Jebel_Ali + 8169*ShipmentAmount_Port_of_Buenos_Aires_Port_of_Salalah + 1029*ShipmentAmount_Port_of_Constanta_Port_of_Gaza + 4499*ShipmentAmount_Port_of_Constanta_Port_of_Jebel_Ali + 3501*ShipmentAmount_Port_of_Constanta_Port_of_Salalah + 3139*ShipmentAmount_Port_of_Doha_Port_of_Gaza + 187*ShipmentAmount_Port_of_Doha_Port_of_Jebel_Ali + 1186*ShipmentAmount_Port_of_Doha_Port_of_Salalah + 5413*ShipmentAmount_Port_of_Douala_Port_of_Gaza + 8017*ShipmentAmount_Port_of_Douala_Port_of_Jebel_Ali + 7018*ShipmentAmount_Port_of_Douala_Port_of_Salalah + 7346*ShipmentAmount_Port_of_Durban_Port_of_Gaza + 4572*ShipmentAmount_Port_of_Durban_Port_of_Jebel_Ali + 3571*ShipmentAmount_Port_of_Durban_Port_of_Salalah + 4119*ShipmentAmount_Port_of_Gdansk_Port_of_Gaza + 8025*ShipmentAmount_Port_of_Gdansk_Port_of_Jebel_Ali + 7025*ShipmentAmount_Port_of_Gdansk_Port_of_Salalah + 1336*ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Gaza + 4366*ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Jebel_Ali + 3367*ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Salalah + 3775.72*ShipmentAmount_Port_of_Gothenburg_Port_of_Gaza + 7573*ShipmentAmount_Port_of_Gothenburg_Port_of_Jebel_Ali + 6418*ShipmentAmount_Port_of_Gothenburg_Port_of_Salalah + 3595.7*ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Gaza + 7306*ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Jebel_Ali + 6307*ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Salalah + 6801*ShipmentAmount_Port_of_Hedland_Port_of_Gaza + 5779*ShipmentAmount_Port_of_Hedland_Port_of_Jebel_Ali + 5424*ShipmentAmount_Port_of_Hedland_Port_of_Salalah + 3399*ShipmentAmount_Port_of_Immingham_Port_of_Gaza + 7080*ShipmentAmount_Port_of_Immingham_Port_of_Jebel_Ali + 6081*ShipmentAmount_Port_of_Immingham_Port_of_Salalah + 3243*ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Gaza + 1335*ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Jebel_Ali + 1143*ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Salalah + 2975*ShipmentAmount_Port_of_Jebel_Ali_Port_of_Gaza + 999*ShipmentAmount_Port_of_Jebel_Ali_Port_of_Salalah + 1364*ShipmentAmount_Port_of_Koper_Port_of_Gaza + 7366*ShipmentAmount_Port_of_Koper_Port_of_Jebel_Ali + 3803*ShipmentAmount_Port_of_Koper_Port_of_Salalah + 5500*ShipmentAmount_Port_of_Lagos_Port_of_Gaza + 8316*ShipmentAmount_Port_of_Lagos_Port_of_Jebel_Ali + 7317*ShipmentAmount_Port_of_Lagos_Port_of_Salalah + 9280*ShipmentAmount_Port_of_Los_Angeles_Port_of_Gaza + 11116*ShipmentAmount_Port_of_Los_Angeles_Port_of_Jebel_Ali + 11137*ShipmentAmount_Port_of_Los_Angeles_Port_of_Salalah + 8088*ShipmentAmount_Port_of_Manzanillo_Port_of_Gaza + 12790*ShipmentAmount_Port_of_Manzanillo_Port_of_Jebel_Ali + 11791*ShipmentAmount_Port_of_Manzanillo_Port_of_Salalah + 7237*ShipmentAmount_Port_of_Maputo_Port_of_Gaza + 4308*ShipmentAmount_Port_of_Maputo_Port_of_Jebel_Ali + 9144*ShipmentAmount_Port_of_Maputo_Port_of_Salalah + 1631*ShipmentAmount_Port_of_Marseille_Port_of_Gaza + 5080*ShipmentAmount_Port_of_Marseille_Port_of_Jebel_Ali + 4081*ShipmentAmount_Port_of_Marseille_Port_of_Salalah + 316*ShipmentAmount_Port_of_Mersin_Port_of_Gaza + 3576*ShipmentAmount_Port_of_Mersin_Port_of_Jebel_Ali + 2577*ShipmentAmount_Port_of_Mersin_Port_of_Salalah + 3178*ShipmentAmount_Port_of_Mina_Salman_Port_of_Gaza + 327*ShipmentAmount_Port_of_Mina_Salman_Port_of_Jebel_Ali + 1253*ShipmentAmount_Port_of_Mina_Salman_Port_of_Salalah + 5165*ShipmentAmount_Port_of_Montreal_Port_of_Gaza + 9470*ShipmentAmount_Port_of_Montreal_Port_of_Jebel_Ali + 8471*ShipmentAmount_Port_of_Montreal_Port_of_Salalah + 8308*ShipmentAmount_Port_of_Nagoya_Port_of_Gaza + 7505*ShipmentAmount_Port_of_Nagoya_Port_of_Jebel_Ali + 7148*ShipmentAmount_Port_of_Nagoya_Port_of_Salalah + 5196*ShipmentAmount_Port_of_New_York_Port_of_Gaza + 8918*ShipmentAmount_Port_of_New_York_Port_of_Jebel_Ali + 7930*ShipmentAmount_Port_of_New_York_Port_of_Salalah + 9192*ShipmentAmount_Port_of_Newcastle_Port_of_Gaza + 8290*ShipmentAmount_Port_of_Newcastle_Port_of_Jebel_Ali + 7936*ShipmentAmount_Port_of_Newcastle_Port_of_Salalah + 1295*ShipmentAmount_Port_of_Novorossiysk_Port_of_Gaza + 4885*ShipmentAmount_Port_of_Novorossiysk_Port_of_Jebel_Ali + 3886*ShipmentAmount_Port_of_Novorossiysk_Port_of_Salalah + 1181*ShipmentAmount_Port_of_Odessa_Port_of_Gaza + 4703*ShipmentAmount_Port_of_Odessa_Port_of_Jebel_Ali + 3704*ShipmentAmount_Port_of_Odessa_Port_of_Salalah + 3831*ShipmentAmount_Port_of_Oslo_Port_of_Gaza + 7673*ShipmentAmount_Port_of_Oslo_Port_of_Jebel_Ali + 6675*ShipmentAmount_Port_of_Oslo_Port_of_Salalah + 658*ShipmentAmount_Port_of_Piraeus_Port_of_Gaza + 3980*ShipmentAmount_Port_of_Piraeus_Port_of_Jebel_Ali + 2981*ShipmentAmount_Port_of_Piraeus_Port_of_Salalah + 1183*ShipmentAmount_Port_of_Ploce_Port_of_Gaza + 4584*ShipmentAmount_Port_of_Ploce_Port_of_Jebel_Ali + 3585*ShipmentAmount_Port_of_Ploce_Port_of_Salalah + 5715*ShipmentAmount_Port_of_Puerto_Cabello_Port_of_Gaza + 10116*ShipmentAmount_Port_of_Puerto_Cabello_Port_of_Jebel_Ali + 9073*ShipmentAmount_Port_of_Puerto_Cabello_Port_of_Salalah + 3892*ShipmentAmount_Port_of_Reykjavik_Port_of_Gaza + 7697*ShipmentAmount_Port_of_Reykjavik_Port_of_Jebel_Ali + 6666*ShipmentAmount_Port_of_Reykjavik_Port_of_Salalah + 4325*ShipmentAmount_Port_of_Riga_Port_of_Gaza + 8269*ShipmentAmount_Port_of_Riga_Port_of_Jebel_Ali + 7270*ShipmentAmount_Port_of_Riga_Port_of_Salalah + 3335*ShipmentAmount_Port_of_Rotterdam_Port_of_Gaza + 7029*ShipmentAmount_Port_of_Rotterdam_Port_of_Jebel_Ali + 6030*ShipmentAmount_Port_of_Rotterdam_Port_of_Salalah + 2086*ShipmentAmount_Port_of_Salalah_Port_of_Gaza + 999*ShipmentAmount_Port_of_Salalah_Port_of_Jebel_Ali + 6360*ShipmentAmount_Port_of_Santos_Port_of_Gaza + 9407*ShipmentAmount_Port_of_Santos_Port_of_Jebel_Ali + 8408*ShipmentAmount_Port_of_Santos_Port_of_Salalah + 7660*ShipmentAmount_Port_of_Shanghai_Port_of_Gaza + 6627*ShipmentAmount_Port_of_Shanghai_Port_of_Jebel_Ali + 6270*ShipmentAmount_Port_of_Shanghai_Port_of_Salalah + 4545*ShipmentAmount_Port_of_St._Petersburg_Port_of_Gaza + 8532*ShipmentAmount_Port_of_St._Petersburg_Port_of_Jebel_Ali + 7533*ShipmentAmount_Port_of_St._Petersburg_Port_of_Salalah + 5814*ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Gaza + 4405*ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Jebel_Ali + 4050*ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Salalah + 10251*ShipmentAmount_Port_of_Tauranga_Port_of_Gaza + 9498*ShipmentAmount_Port_of_Tauranga_Port_of_Jebel_Ali + 9144*ShipmentAmount_Port_of_Tauranga_Port_of_Salalah + 4842*ShipmentAmount_Port_of_Tema_Port_of_Gaza + 8408*ShipmentAmount_Port_of_Tema_Port_of_Jebel_Ali + 7409*ShipmentAmount_Port_of_Tema_Port_of_Salalah + 10365*ShipmentAmount_Port_of_Vancouver_Port_of_Gaza + 10440*ShipmentAmount_Port_of_Vancouver_Port_of_Jebel_Ali + 10461*ShipmentAmount_Port_of_Vancouver_Port_of_Salalah + 8522*ShipmentAmount_Port_of_Vladivostok_Port_of_Gaza + 7727*ShipmentAmount_Port_of_Vladivostok_Port_of_Jebel_Ali + 7370*ShipmentAmount_Port_of_Vladivostok_Port_of_Salalah + 0.0\n",
       "SUBJECT TO\n",
       "_C1: ShipmentAmount_Penang_Port_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Aktau_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Alexandria_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Algeciras_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Baku_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Basel_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Belgrade_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Bratislava_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Budapest_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Buenos_Aires_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Constanta_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Doha_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Douala_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Durban_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Gdansk_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Gothenburg_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Hedland_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Immingham_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Jebel_Ali_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Koper_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Lagos_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Los_Angeles_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Manzanillo_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Maputo_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Marseille_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Mersin_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Mina_Salman_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Montreal_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Nagoya_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_New_York_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Newcastle_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Novorossiysk_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Odessa_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Oslo_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Piraeus_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Ploce_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Puerto_Cabello_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Reykjavik_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Riga_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Rotterdam_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Salalah_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Santos_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Shanghai_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_St._Petersburg_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Tauranga_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Tema_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Vancouver_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Vladivostok_Port_of_Salalah >= 198391784.8\n",
       "\n",
       "_C2: ShipmentAmount_Penang_Port_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Aktau_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Alexandria_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Algeciras_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Baku_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Basel_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Belgrade_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Bratislava_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Budapest_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Buenos_Aires_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Constanta_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Doha_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Douala_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Durban_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Gdansk_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Gothenburg_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Hedland_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Immingham_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Jebel_Ali_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Koper_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Lagos_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Los_Angeles_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Manzanillo_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Maputo_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Marseille_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Mersin_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Mina_Salman_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Montreal_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Nagoya_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_New_York_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Newcastle_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Novorossiysk_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Odessa_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Oslo_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Piraeus_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Ploce_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Puerto_Cabello_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Reykjavik_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Riga_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Rotterdam_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Salalah_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Santos_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Shanghai_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_St._Petersburg_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Tauranga_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Tema_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Vancouver_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Vladivostok_Port_of_Gaza >= 182085151.2\n",
       "\n",
       "_C3: ShipmentAmount_Penang_Port_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Aktau_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Alexandria_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Algeciras_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Baku_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Basel_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Belgrade_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Bratislava_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Budapest_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Buenos_Aires_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Constanta_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Doha_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Douala_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Durban_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Gdansk_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Gothenburg_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Hedland_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Immingham_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Jebel_Ali_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Koper_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Lagos_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Los_Angeles_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Manzanillo_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Maputo_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Marseille_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Mersin_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Mina_Salman_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Montreal_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Nagoya_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_New_York_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Newcastle_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Novorossiysk_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Odessa_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Oslo_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Piraeus_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Ploce_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Puerto_Cabello_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Reykjavik_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Riga_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Rotterdam_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Salalah_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Santos_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Shanghai_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_St._Petersburg_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Tauranga_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Tema_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Vancouver_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Vladivostok_Port_of_Jebel_Ali >= 210893155.9\n",
       "\n",
       "VARIABLES\n",
       "ShipmentAmount_Penang_Port_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Penang_Port_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Penang_Port_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Aktau_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Aktau_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Aktau_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Alexandria_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Alexandria_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Alexandria_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Algeciras_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Algeciras_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Algeciras_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Baku_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Baku_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Baku_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Basel_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Basel_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Basel_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Belgrade_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Belgrade_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Belgrade_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Bratislava_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Bratislava_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Bratislava_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Budapest_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Budapest_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Budapest_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Buenos_Aires_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Buenos_Aires_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Buenos_Aires_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Constanta_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Constanta_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Constanta_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Doha_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Doha_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Doha_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Douala_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Douala_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Douala_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Durban_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Durban_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Durban_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Gdansk_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Gdansk_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Gdansk_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Gothenburg_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Gothenburg_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Gothenburg_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Hedland_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Hedland_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Hedland_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Immingham_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Immingham_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Immingham_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Jebel_Ali_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Jebel_Ali_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Jebel_Ali_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Koper_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Koper_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Koper_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Lagos_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Lagos_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Lagos_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Los_Angeles_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Los_Angeles_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Los_Angeles_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Manzanillo_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Manzanillo_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Manzanillo_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Maputo_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Maputo_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Maputo_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Marseille_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Marseille_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Marseille_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Mersin_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Mersin_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Mersin_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Mina_Salman_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Mina_Salman_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Mina_Salman_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Montreal_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Montreal_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Montreal_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Nagoya_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Nagoya_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Nagoya_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_New_York_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_New_York_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_New_York_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Newcastle_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Newcastle_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Newcastle_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Novorossiysk_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Novorossiysk_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Novorossiysk_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Odessa_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Odessa_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Odessa_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Oslo_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Oslo_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Oslo_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Piraeus_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Piraeus_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Piraeus_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Ploce_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Ploce_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Ploce_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Puerto_Cabello_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Puerto_Cabello_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Puerto_Cabello_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Reykjavik_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Reykjavik_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Reykjavik_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Riga_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Riga_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Riga_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Rotterdam_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Rotterdam_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Rotterdam_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Salalah_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Salalah_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Salalah_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Santos_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Santos_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Santos_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Shanghai_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Shanghai_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Shanghai_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_St._Petersburg_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_St._Petersburg_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_St._Petersburg_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Tauranga_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Tauranga_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Tauranga_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Tema_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Tema_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Tema_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Vancouver_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Vancouver_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Vancouver_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Vladivostok_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Vladivostok_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Vladivostok_Port_of_Salalah Continuous"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Constraints\n",
    "for j in demand_points:\n",
    "    prob += sum(X[i][j] for i in supply_points) >= aluminium_demand[j]\n",
    "    \n",
    "prob"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Transportation:\n",
       "MINIMIZE\n",
       "5210*ShipmentAmount_Penang_Port_Port_of_Gaza + 3601*ShipmentAmount_Penang_Port_Port_of_Jebel_Ali + 3245*ShipmentAmount_Penang_Port_Port_of_Salalah + 2301*ShipmentAmount_Port_of_Aktau_Port_of_Gaza + 5094*ShipmentAmount_Port_of_Aktau_Port_of_Jebel_Ali + 4147*ShipmentAmount_Port_of_Aktau_Port_of_Salalah + 242*ShipmentAmount_Port_of_Alexandria_Port_of_Gaza + 3396*ShipmentAmount_Port_of_Alexandria_Port_of_Jebel_Ali + 2397*ShipmentAmount_Port_of_Alexandria_Port_of_Salalah + 2004*ShipmentAmount_Port_of_Algeciras_Port_of_Gaza + 5377*ShipmentAmount_Port_of_Algeciras_Port_of_Jebel_Ali + 4378*ShipmentAmount_Port_of_Algeciras_Port_of_Salalah + 2600*ShipmentAmount_Port_of_Baku_Port_of_Gaza + 5390*ShipmentAmount_Port_of_Baku_Port_of_Jebel_Ali + 4443*ShipmentAmount_Port_of_Baku_Port_of_Salalah + 2922*ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Gaza + 173*ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Jebel_Ali + 943*ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Salalah + 3662*ShipmentAmount_Port_of_Basel_Port_of_Gaza + 6667*ShipmentAmount_Port_of_Basel_Port_of_Jebel_Ali + 5720*ShipmentAmount_Port_of_Basel_Port_of_Salalah + 1950*ShipmentAmount_Port_of_Belgrade_Port_of_Gaza + 5162*ShipmentAmount_Port_of_Belgrade_Port_of_Jebel_Ali + 4163*ShipmentAmount_Port_of_Belgrade_Port_of_Salalah + 2243*ShipmentAmount_Port_of_Bratislava_Port_of_Gaza + 5463*ShipmentAmount_Port_of_Bratislava_Port_of_Jebel_Ali + 4464*ShipmentAmount_Port_of_Bratislava_Port_of_Salalah + 1992*ShipmentAmount_Port_of_Budapest_Port_of_Gaza + 5360*ShipmentAmount_Port_of_Budapest_Port_of_Jebel_Ali + 4362*ShipmentAmount_Port_of_Budapest_Port_of_Salalah + 7282*ShipmentAmount_Port_of_Buenos_Aires_Port_of_Gaza + 9168*ShipmentAmount_Port_of_Buenos_Aires_Port_of_Jebel_Ali + 8169*ShipmentAmount_Port_of_Buenos_Aires_Port_of_Salalah + 1029*ShipmentAmount_Port_of_Constanta_Port_of_Gaza + 4499*ShipmentAmount_Port_of_Constanta_Port_of_Jebel_Ali + 3501*ShipmentAmount_Port_of_Constanta_Port_of_Salalah + 3139*ShipmentAmount_Port_of_Doha_Port_of_Gaza + 187*ShipmentAmount_Port_of_Doha_Port_of_Jebel_Ali + 1186*ShipmentAmount_Port_of_Doha_Port_of_Salalah + 5413*ShipmentAmount_Port_of_Douala_Port_of_Gaza + 8017*ShipmentAmount_Port_of_Douala_Port_of_Jebel_Ali + 7018*ShipmentAmount_Port_of_Douala_Port_of_Salalah + 7346*ShipmentAmount_Port_of_Durban_Port_of_Gaza + 4572*ShipmentAmount_Port_of_Durban_Port_of_Jebel_Ali + 3571*ShipmentAmount_Port_of_Durban_Port_of_Salalah + 4119*ShipmentAmount_Port_of_Gdansk_Port_of_Gaza + 8025*ShipmentAmount_Port_of_Gdansk_Port_of_Jebel_Ali + 7025*ShipmentAmount_Port_of_Gdansk_Port_of_Salalah + 1336*ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Gaza + 4366*ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Jebel_Ali + 3367*ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Salalah + 3775.72*ShipmentAmount_Port_of_Gothenburg_Port_of_Gaza + 7573*ShipmentAmount_Port_of_Gothenburg_Port_of_Jebel_Ali + 6418*ShipmentAmount_Port_of_Gothenburg_Port_of_Salalah + 3595.7*ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Gaza + 7306*ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Jebel_Ali + 6307*ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Salalah + 6801*ShipmentAmount_Port_of_Hedland_Port_of_Gaza + 5779*ShipmentAmount_Port_of_Hedland_Port_of_Jebel_Ali + 5424*ShipmentAmount_Port_of_Hedland_Port_of_Salalah + 3399*ShipmentAmount_Port_of_Immingham_Port_of_Gaza + 7080*ShipmentAmount_Port_of_Immingham_Port_of_Jebel_Ali + 6081*ShipmentAmount_Port_of_Immingham_Port_of_Salalah + 3243*ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Gaza + 1335*ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Jebel_Ali + 1143*ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Salalah + 2975*ShipmentAmount_Port_of_Jebel_Ali_Port_of_Gaza + 999*ShipmentAmount_Port_of_Jebel_Ali_Port_of_Salalah + 1364*ShipmentAmount_Port_of_Koper_Port_of_Gaza + 7366*ShipmentAmount_Port_of_Koper_Port_of_Jebel_Ali + 3803*ShipmentAmount_Port_of_Koper_Port_of_Salalah + 5500*ShipmentAmount_Port_of_Lagos_Port_of_Gaza + 8316*ShipmentAmount_Port_of_Lagos_Port_of_Jebel_Ali + 7317*ShipmentAmount_Port_of_Lagos_Port_of_Salalah + 9280*ShipmentAmount_Port_of_Los_Angeles_Port_of_Gaza + 11116*ShipmentAmount_Port_of_Los_Angeles_Port_of_Jebel_Ali + 11137*ShipmentAmount_Port_of_Los_Angeles_Port_of_Salalah + 8088*ShipmentAmount_Port_of_Manzanillo_Port_of_Gaza + 12790*ShipmentAmount_Port_of_Manzanillo_Port_of_Jebel_Ali + 11791*ShipmentAmount_Port_of_Manzanillo_Port_of_Salalah + 7237*ShipmentAmount_Port_of_Maputo_Port_of_Gaza + 4308*ShipmentAmount_Port_of_Maputo_Port_of_Jebel_Ali + 9144*ShipmentAmount_Port_of_Maputo_Port_of_Salalah + 1631*ShipmentAmount_Port_of_Marseille_Port_of_Gaza + 5080*ShipmentAmount_Port_of_Marseille_Port_of_Jebel_Ali + 4081*ShipmentAmount_Port_of_Marseille_Port_of_Salalah + 316*ShipmentAmount_Port_of_Mersin_Port_of_Gaza + 3576*ShipmentAmount_Port_of_Mersin_Port_of_Jebel_Ali + 2577*ShipmentAmount_Port_of_Mersin_Port_of_Salalah + 3178*ShipmentAmount_Port_of_Mina_Salman_Port_of_Gaza + 327*ShipmentAmount_Port_of_Mina_Salman_Port_of_Jebel_Ali + 1253*ShipmentAmount_Port_of_Mina_Salman_Port_of_Salalah + 5165*ShipmentAmount_Port_of_Montreal_Port_of_Gaza + 9470*ShipmentAmount_Port_of_Montreal_Port_of_Jebel_Ali + 8471*ShipmentAmount_Port_of_Montreal_Port_of_Salalah + 8308*ShipmentAmount_Port_of_Nagoya_Port_of_Gaza + 7505*ShipmentAmount_Port_of_Nagoya_Port_of_Jebel_Ali + 7148*ShipmentAmount_Port_of_Nagoya_Port_of_Salalah + 5196*ShipmentAmount_Port_of_New_York_Port_of_Gaza + 8918*ShipmentAmount_Port_of_New_York_Port_of_Jebel_Ali + 7930*ShipmentAmount_Port_of_New_York_Port_of_Salalah + 9192*ShipmentAmount_Port_of_Newcastle_Port_of_Gaza + 8290*ShipmentAmount_Port_of_Newcastle_Port_of_Jebel_Ali + 7936*ShipmentAmount_Port_of_Newcastle_Port_of_Salalah + 1295*ShipmentAmount_Port_of_Novorossiysk_Port_of_Gaza + 4885*ShipmentAmount_Port_of_Novorossiysk_Port_of_Jebel_Ali + 3886*ShipmentAmount_Port_of_Novorossiysk_Port_of_Salalah + 1181*ShipmentAmount_Port_of_Odessa_Port_of_Gaza + 4703*ShipmentAmount_Port_of_Odessa_Port_of_Jebel_Ali + 3704*ShipmentAmount_Port_of_Odessa_Port_of_Salalah + 3831*ShipmentAmount_Port_of_Oslo_Port_of_Gaza + 7673*ShipmentAmount_Port_of_Oslo_Port_of_Jebel_Ali + 6675*ShipmentAmount_Port_of_Oslo_Port_of_Salalah + 658*ShipmentAmount_Port_of_Piraeus_Port_of_Gaza + 3980*ShipmentAmount_Port_of_Piraeus_Port_of_Jebel_Ali + 2981*ShipmentAmount_Port_of_Piraeus_Port_of_Salalah + 1183*ShipmentAmount_Port_of_Ploce_Port_of_Gaza + 4584*ShipmentAmount_Port_of_Ploce_Port_of_Jebel_Ali + 3585*ShipmentAmount_Port_of_Ploce_Port_of_Salalah + 5715*ShipmentAmount_Port_of_Puerto_Cabello_Port_of_Gaza + 10116*ShipmentAmount_Port_of_Puerto_Cabello_Port_of_Jebel_Ali + 9073*ShipmentAmount_Port_of_Puerto_Cabello_Port_of_Salalah + 3892*ShipmentAmount_Port_of_Reykjavik_Port_of_Gaza + 7697*ShipmentAmount_Port_of_Reykjavik_Port_of_Jebel_Ali + 6666*ShipmentAmount_Port_of_Reykjavik_Port_of_Salalah + 4325*ShipmentAmount_Port_of_Riga_Port_of_Gaza + 8269*ShipmentAmount_Port_of_Riga_Port_of_Jebel_Ali + 7270*ShipmentAmount_Port_of_Riga_Port_of_Salalah + 3335*ShipmentAmount_Port_of_Rotterdam_Port_of_Gaza + 7029*ShipmentAmount_Port_of_Rotterdam_Port_of_Jebel_Ali + 6030*ShipmentAmount_Port_of_Rotterdam_Port_of_Salalah + 2086*ShipmentAmount_Port_of_Salalah_Port_of_Gaza + 999*ShipmentAmount_Port_of_Salalah_Port_of_Jebel_Ali + 6360*ShipmentAmount_Port_of_Santos_Port_of_Gaza + 9407*ShipmentAmount_Port_of_Santos_Port_of_Jebel_Ali + 8408*ShipmentAmount_Port_of_Santos_Port_of_Salalah + 7660*ShipmentAmount_Port_of_Shanghai_Port_of_Gaza + 6627*ShipmentAmount_Port_of_Shanghai_Port_of_Jebel_Ali + 6270*ShipmentAmount_Port_of_Shanghai_Port_of_Salalah + 4545*ShipmentAmount_Port_of_St._Petersburg_Port_of_Gaza + 8532*ShipmentAmount_Port_of_St._Petersburg_Port_of_Jebel_Ali + 7533*ShipmentAmount_Port_of_St._Petersburg_Port_of_Salalah + 5814*ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Gaza + 4405*ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Jebel_Ali + 4050*ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Salalah + 10251*ShipmentAmount_Port_of_Tauranga_Port_of_Gaza + 9498*ShipmentAmount_Port_of_Tauranga_Port_of_Jebel_Ali + 9144*ShipmentAmount_Port_of_Tauranga_Port_of_Salalah + 4842*ShipmentAmount_Port_of_Tema_Port_of_Gaza + 8408*ShipmentAmount_Port_of_Tema_Port_of_Jebel_Ali + 7409*ShipmentAmount_Port_of_Tema_Port_of_Salalah + 10365*ShipmentAmount_Port_of_Vancouver_Port_of_Gaza + 10440*ShipmentAmount_Port_of_Vancouver_Port_of_Jebel_Ali + 10461*ShipmentAmount_Port_of_Vancouver_Port_of_Salalah + 8522*ShipmentAmount_Port_of_Vladivostok_Port_of_Gaza + 7727*ShipmentAmount_Port_of_Vladivostok_Port_of_Jebel_Ali + 7370*ShipmentAmount_Port_of_Vladivostok_Port_of_Salalah + 0.0\n",
       "SUBJECT TO\n",
       "_C1: ShipmentAmount_Penang_Port_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Aktau_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Alexandria_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Algeciras_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Baku_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Basel_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Belgrade_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Bratislava_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Budapest_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Buenos_Aires_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Constanta_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Doha_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Douala_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Durban_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Gdansk_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Gothenburg_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Hedland_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Immingham_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Jebel_Ali_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Koper_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Lagos_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Los_Angeles_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Manzanillo_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Maputo_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Marseille_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Mersin_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Mina_Salman_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Montreal_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Nagoya_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_New_York_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Newcastle_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Novorossiysk_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Odessa_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Oslo_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Piraeus_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Ploce_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Puerto_Cabello_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Reykjavik_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Riga_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Rotterdam_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Salalah_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Santos_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Shanghai_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_St._Petersburg_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Tauranga_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Tema_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Vancouver_Port_of_Salalah\n",
       " + ShipmentAmount_Port_of_Vladivostok_Port_of_Salalah >= 198391784.8\n",
       "\n",
       "_C2: ShipmentAmount_Penang_Port_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Aktau_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Alexandria_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Algeciras_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Baku_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Basel_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Belgrade_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Bratislava_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Budapest_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Buenos_Aires_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Constanta_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Doha_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Douala_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Durban_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Gdansk_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Gothenburg_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Hedland_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Immingham_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Jebel_Ali_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Koper_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Lagos_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Los_Angeles_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Manzanillo_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Maputo_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Marseille_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Mersin_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Mina_Salman_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Montreal_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Nagoya_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_New_York_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Newcastle_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Novorossiysk_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Odessa_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Oslo_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Piraeus_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Ploce_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Puerto_Cabello_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Reykjavik_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Riga_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Rotterdam_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Salalah_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Santos_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Shanghai_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_St._Petersburg_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Tauranga_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Tema_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Vancouver_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Vladivostok_Port_of_Gaza >= 182085151.2\n",
       "\n",
       "_C3: ShipmentAmount_Penang_Port_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Aktau_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Alexandria_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Algeciras_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Baku_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Basel_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Belgrade_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Bratislava_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Budapest_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Buenos_Aires_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Constanta_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Doha_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Douala_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Durban_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Gdansk_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Gothenburg_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Hedland_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Immingham_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Jebel_Ali_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Koper_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Lagos_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Los_Angeles_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Manzanillo_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Maputo_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Marseille_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Mersin_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Mina_Salman_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Montreal_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Nagoya_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_New_York_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Newcastle_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Novorossiysk_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Odessa_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Oslo_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Piraeus_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Ploce_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Puerto_Cabello_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Reykjavik_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Riga_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Rotterdam_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Salalah_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Santos_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Shanghai_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_St._Petersburg_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Tauranga_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Tema_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Vancouver_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Vladivostok_Port_of_Jebel_Ali >= 210893155.9\n",
       "\n",
       "_C4: ShipmentAmount_Port_of_Buenos_Aires_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Buenos_Aires_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Buenos_Aires_Port_of_Salalah = 1750418.373\n",
       "\n",
       "_C5: ShipmentAmount_Port_of_Newcastle_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Newcastle_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Newcastle_Port_of_Salalah = 1108486.991\n",
       "\n",
       "_C6: ShipmentAmount_Port_of_Hedland_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Hedland_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Hedland_Port_of_Salalah = 5259760.632\n",
       "\n",
       "_C7: ShipmentAmount_Port_of_Baku_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Baku_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Baku_Port_of_Salalah = 152870.6086\n",
       "\n",
       "_C8: ShipmentAmount_Port_of_Mina_Salman_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Mina_Salman_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Mina_Salman_Port_of_Salalah = 5846232.525\n",
       "\n",
       "_C9: ShipmentAmount_Port_of_Ploce_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Ploce_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Ploce_Port_of_Salalah = 583785.2387\n",
       "\n",
       "_C10: ShipmentAmount_Port_of_Santos_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Santos_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Santos_Port_of_Salalah = 2405044.613\n",
       "\n",
       "_C11: ShipmentAmount_Port_of_Douala_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Douala_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Douala_Port_of_Salalah = 286578.9516\n",
       "\n",
       "_C12: ShipmentAmount_Port_of_Montreal_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Montreal_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Montreal_Port_of_Salalah = 7130120.719\n",
       "\n",
       "_C13: ShipmentAmount_Port_of_Vancouver_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Vancouver_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Vancouver_Port_of_Salalah = 2122464.834\n",
       "\n",
       "_C14: ShipmentAmount_Port_of_Shanghai_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Shanghai_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Shanghai_Port_of_Salalah = 267850261.2\n",
       "\n",
       "_C15: ShipmentAmount_Port_of_Alexandria_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Alexandria_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Alexandria_Port_of_Salalah = 1178963.884\n",
       "\n",
       "_C16: ShipmentAmount_Port_of_Marseille_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Marseille_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Marseille_Port_of_Salalah = 2903970.469\n",
       "\n",
       "_C17: ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Salalah = 2541200.847\n",
       "\n",
       "_C18: ShipmentAmount_Port_of_Tema_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Tema_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Tema_Port_of_Salalah = 159171.9705\n",
       "\n",
       "_C19: ShipmentAmount_Port_of_Piraeus_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Piraeus_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Piraeus_Port_of_Salalah = 662387.6583\n",
       "\n",
       "_C20: ShipmentAmount_Port_of_Budapest_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Budapest_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Budapest_Port_of_Salalah = 7691376.454\n",
       "\n",
       "_C21: ShipmentAmount_Port_of_Reykjavik_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Reykjavik_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Reykjavik_Port_of_Salalah = 56655403.55\n",
       "\n",
       "_C22: ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Salalah = 5188197.412\n",
       "\n",
       "_C23: ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Salalah = 137744624.1\n",
       "\n",
       "_C24: ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Salalah = 1888157.9\n",
       "\n",
       "_C25: ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Salalah = 28443.63952\n",
       "\n",
       "_C26: ShipmentAmount_Port_of_Nagoya_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Nagoya_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Nagoya_Port_of_Salalah = 724801.9126\n",
       "\n",
       "_C27: ShipmentAmount_Port_of_Aktau_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Aktau_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Aktau_Port_of_Salalah = 1052630.169\n",
       "\n",
       "_C28: ShipmentAmount_Penang_Port_Port_of_Gaza\n",
       " + ShipmentAmount_Penang_Port_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Penang_Port_Port_of_Salalah = 1883968.768\n",
       "\n",
       "_C29: ShipmentAmount_Port_of_Manzanillo_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Manzanillo_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Manzanillo_Port_of_Salalah = 110143.3931\n",
       "\n",
       "_C30: ShipmentAmount_Port_of_Belgrade_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Belgrade_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Belgrade_Port_of_Salalah = 380422.1379\n",
       "\n",
       "_C31: ShipmentAmount_Port_of_Maputo_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Maputo_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Maputo_Port_of_Salalah = 8080791.105\n",
       "\n",
       "_C32: ShipmentAmount_Port_of_Rotterdam_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Rotterdam_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Rotterdam_Port_of_Salalah = 964428.5326\n",
       "\n",
       "_C33: ShipmentAmount_Port_of_Tauranga_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Tauranga_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Tauranga_Port_of_Salalah = 1312543.345\n",
       "\n",
       "_C34: ShipmentAmount_Port_of_Lagos_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Lagos_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Lagos_Port_of_Salalah = 71076.45981\n",
       "\n",
       "_C35: ShipmentAmount_Port_of_Oslo_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Oslo_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Oslo_Port_of_Salalah = 5162036.898\n",
       "\n",
       "_C36: ShipmentAmount_Port_of_Salalah_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Salalah_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Salalah_Port_of_Salalah = 1900360.293\n",
       "\n",
       "_C37: ShipmentAmount_Port_of_Gdansk_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Gdansk_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Gdansk_Port_of_Salalah = 148867.4242\n",
       "\n",
       "_C38: ShipmentAmount_Port_of_Doha_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Doha_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Doha_Port_of_Salalah = 2820733.861\n",
       "\n",
       "_C39: ShipmentAmount_Port_of_Constanta_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Constanta_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Constanta_Port_of_Salalah = 1017712.828\n",
       "\n",
       "_C40: ShipmentAmount_Port_of_Vladivostok_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Vladivostok_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Vladivostok_Port_of_Salalah = 7634624.871\n",
       "\n",
       "_C41: ShipmentAmount_Port_of_Novorossiysk_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Novorossiysk_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Novorossiysk_Port_of_Salalah = 3723801.549\n",
       "\n",
       "_C42: ShipmentAmount_Port_of_St._Petersburg_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_St._Petersburg_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_St._Petersburg_Port_of_Salalah = 3766639.035\n",
       "\n",
       "_C43: ShipmentAmount_Port_of_Bratislava_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Bratislava_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Bratislava_Port_of_Salalah = 1121081.872\n",
       "\n",
       "_C44: ShipmentAmount_Port_of_Koper_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Koper_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Koper_Port_of_Salalah = 351723.7786\n",
       "\n",
       "_C45: ShipmentAmount_Port_of_Durban_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Durban_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Durban_Port_of_Salalah = 2886609.143\n",
       "\n",
       "_C46: ShipmentAmount_Port_of_Algeciras_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Algeciras_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Algeciras_Port_of_Salalah = 1384623.344\n",
       "\n",
       "_C47: ShipmentAmount_Port_of_Gothenburg_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Gothenburg_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Gothenburg_Port_of_Salalah = 533795.8943\n",
       "\n",
       "_C48: ShipmentAmount_Port_of_Basel_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Basel_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Basel_Port_of_Salalah = 105019.7955\n",
       "\n",
       "_C49: ShipmentAmount_Port_of_Riga_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Riga_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Riga_Port_of_Salalah = 5143227.069\n",
       "\n",
       "_C50: ShipmentAmount_Port_of_Mersin_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Mersin_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Mersin_Port_of_Salalah = 237073.6777\n",
       "\n",
       "_C51: ShipmentAmount_Port_of_Odessa_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Odessa_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Odessa_Port_of_Salalah = 299230.0617\n",
       "\n",
       "_C52: ShipmentAmount_Port_of_Jebel_Ali_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Jebel_Ali_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Jebel_Ali_Port_of_Salalah = 26856798.65\n",
       "\n",
       "_C53: ShipmentAmount_Port_of_Immingham_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Immingham_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Immingham_Port_of_Salalah = 0\n",
       "\n",
       "_C54: ShipmentAmount_Port_of_New_York_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_New_York_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_New_York_Port_of_Salalah = 0\n",
       "\n",
       "_C55: ShipmentAmount_Port_of_Los_Angeles_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Los_Angeles_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Los_Angeles_Port_of_Salalah = 0\n",
       "\n",
       "_C56: ShipmentAmount_Port_of_Puerto_Cabello_Port_of_Gaza\n",
       " + ShipmentAmount_Port_of_Puerto_Cabello_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Puerto_Cabello_Port_of_Salalah = 557404.5143\n",
       "\n",
       "VARIABLES\n",
       "ShipmentAmount_Penang_Port_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Penang_Port_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Penang_Port_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Aktau_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Aktau_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Aktau_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Alexandria_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Alexandria_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Alexandria_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Algeciras_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Algeciras_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Algeciras_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Baku_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Baku_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Baku_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Basel_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Basel_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Basel_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Belgrade_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Belgrade_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Belgrade_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Bratislava_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Bratislava_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Bratislava_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Budapest_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Budapest_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Budapest_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Buenos_Aires_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Buenos_Aires_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Buenos_Aires_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Constanta_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Constanta_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Constanta_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Doha_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Doha_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Doha_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Douala_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Douala_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Douala_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Durban_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Durban_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Durban_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Gdansk_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Gdansk_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Gdansk_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Gothenburg_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Gothenburg_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Gothenburg_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Hedland_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Hedland_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Hedland_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Immingham_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Immingham_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Immingham_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Jebel_Ali_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Jebel_Ali_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Jebel_Ali_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Koper_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Koper_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Koper_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Lagos_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Lagos_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Lagos_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Los_Angeles_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Los_Angeles_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Los_Angeles_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Manzanillo_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Manzanillo_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Manzanillo_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Maputo_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Maputo_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Maputo_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Marseille_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Marseille_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Marseille_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Mersin_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Mersin_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Mersin_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Mina_Salman_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Mina_Salman_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Mina_Salman_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Montreal_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Montreal_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Montreal_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Nagoya_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Nagoya_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Nagoya_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_New_York_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_New_York_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_New_York_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Newcastle_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Newcastle_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Newcastle_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Novorossiysk_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Novorossiysk_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Novorossiysk_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Odessa_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Odessa_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Odessa_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Oslo_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Oslo_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Oslo_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Piraeus_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Piraeus_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Piraeus_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Ploce_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Ploce_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Ploce_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Puerto_Cabello_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Puerto_Cabello_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Puerto_Cabello_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Reykjavik_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Reykjavik_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Reykjavik_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Riga_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Riga_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Riga_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Rotterdam_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Rotterdam_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Rotterdam_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Salalah_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Salalah_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Salalah_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Santos_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Santos_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Santos_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Shanghai_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Shanghai_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Shanghai_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_St._Petersburg_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_St._Petersburg_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_St._Petersburg_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Tauranga_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Tauranga_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Tauranga_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Tema_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Tema_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Tema_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Vancouver_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Vancouver_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Vancouver_Port_of_Salalah Continuous\n",
       "ShipmentAmount_Port_of_Vladivostok_Port_of_Gaza Continuous\n",
       "ShipmentAmount_Port_of_Vladivostok_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Vladivostok_Port_of_Salalah Continuous"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Constraints\n",
    "for i in supply_points:\n",
    "    prob += sum(X[i][j] for j in demand_points) == aluminium_supply[i]\n",
    "prob"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Status: Optimal\n",
      "ShipmentAmount_Penang_Port_Port_of_Jebel_Ali = 1883968.8\n",
      "ShipmentAmount_Port_of_Aktau_Port_of_Gaza = 1052630.2\n",
      "ShipmentAmount_Port_of_Alexandria_Port_of_Gaza = 1178963.9\n",
      "ShipmentAmount_Port_of_Algeciras_Port_of_Gaza = 1384623.3\n",
      "ShipmentAmount_Port_of_Baku_Port_of_Gaza = 152870.61\n",
      "ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Jebel_Ali = 1888157.9\n",
      "ShipmentAmount_Port_of_Basel_Port_of_Gaza = 105019.8\n",
      "ShipmentAmount_Port_of_Belgrade_Port_of_Gaza = 380422.14\n",
      "ShipmentAmount_Port_of_Bratislava_Port_of_Gaza = 1121081.9\n",
      "ShipmentAmount_Port_of_Budapest_Port_of_Gaza = 7691376.5\n",
      "ShipmentAmount_Port_of_Buenos_Aires_Port_of_Gaza = 1750418.4\n",
      "ShipmentAmount_Port_of_Constanta_Port_of_Gaza = 1017712.8\n",
      "ShipmentAmount_Port_of_Doha_Port_of_Jebel_Ali = 2820733.9\n",
      "ShipmentAmount_Port_of_Douala_Port_of_Gaza = 286578.95\n",
      "ShipmentAmount_Port_of_Durban_Port_of_Salalah = 2886609.1\n",
      "ShipmentAmount_Port_of_Gdansk_Port_of_Gaza = 148867.42\n",
      "ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Gaza = 28443.64\n",
      "ShipmentAmount_Port_of_Gothenburg_Port_of_Gaza = 533795.89\n",
      "ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Gaza = 2541200.8\n",
      "ShipmentAmount_Port_of_Hedland_Port_of_Gaza = 5259760.6\n",
      "ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Jebel_Ali = 5188197.4\n",
      "ShipmentAmount_Port_of_Jebel_Ali_Port_of_Jebel_Ali = 26856799.0\n",
      "ShipmentAmount_Port_of_Koper_Port_of_Gaza = 351723.78\n",
      "ShipmentAmount_Port_of_Lagos_Port_of_Gaza = 71076.46\n",
      "ShipmentAmount_Port_of_Manzanillo_Port_of_Gaza = 110143.39\n",
      "ShipmentAmount_Port_of_Maputo_Port_of_Jebel_Ali = 8080791.1\n",
      "ShipmentAmount_Port_of_Marseille_Port_of_Gaza = 2903970.5\n",
      "ShipmentAmount_Port_of_Mersin_Port_of_Gaza = 237073.68\n",
      "ShipmentAmount_Port_of_Mina_Salman_Port_of_Jebel_Ali = 5846232.5\n",
      "ShipmentAmount_Port_of_Montreal_Port_of_Gaza = 7130120.7\n",
      "ShipmentAmount_Port_of_Nagoya_Port_of_Gaza = 724801.91\n",
      "ShipmentAmount_Port_of_Newcastle_Port_of_Gaza = 1108487.0\n",
      "ShipmentAmount_Port_of_Novorossiysk_Port_of_Gaza = 3723801.5\n",
      "ShipmentAmount_Port_of_Odessa_Port_of_Gaza = 299230.06\n",
      "ShipmentAmount_Port_of_Oslo_Port_of_Gaza = 5162036.9\n",
      "ShipmentAmount_Port_of_Piraeus_Port_of_Gaza = 662387.66\n",
      "ShipmentAmount_Port_of_Ploce_Port_of_Gaza = 583785.24\n",
      "ShipmentAmount_Port_of_Puerto_Cabello_Port_of_Gaza = 557404.51\n",
      "ShipmentAmount_Port_of_Reykjavik_Port_of_Gaza = 56655404.0\n",
      "ShipmentAmount_Port_of_Riga_Port_of_Gaza = 5143227.1\n",
      "ShipmentAmount_Port_of_Rotterdam_Port_of_Gaza = 964428.53\n",
      "ShipmentAmount_Port_of_Salalah_Port_of_Salalah = 1900360.3\n",
      "ShipmentAmount_Port_of_Santos_Port_of_Gaza = 2405044.6\n",
      "ShipmentAmount_Port_of_Shanghai_Port_of_Gaza = 53661793.0\n",
      "ShipmentAmount_Port_of_Shanghai_Port_of_Jebel_Ali = 20583652.0\n",
      "ShipmentAmount_Port_of_Shanghai_Port_of_Salalah = 193604820.0\n",
      "ShipmentAmount_Port_of_St._Petersburg_Port_of_Gaza = 3766639.0\n",
      "ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Jebel_Ali = 137744620.0\n",
      "ShipmentAmount_Port_of_Tauranga_Port_of_Gaza = 1312543.3\n",
      "ShipmentAmount_Port_of_Tema_Port_of_Gaza = 159171.97\n",
      "ShipmentAmount_Port_of_Vancouver_Port_of_Gaza = 2122464.8\n",
      "ShipmentAmount_Port_of_Vladivostok_Port_of_Gaza = 7634624.9\n",
      "Total kilogram_miles = 2986024021493.42\n"
     ]
    }
   ],
   "source": [
    "prob.solve()\n",
    "\n",
    "print(\"Status:\", LpStatus[prob.status])\n",
    "\n",
    "for v in prob.variables():\n",
    "    if v.varValue > 0:\n",
    "        print(v.name, \"=\", v.varValue)\n",
    "\n",
    "print(\"Total kilogram_miles =\", value(prob.objective))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
